今さら聞けないGit 2020年03月25日

今さら聞けないGit 2020年03月25日

Gitで自動更新するための構成(メンバーがGitを使えない人向け)

![Gitで自動更新するための構成.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/310125/676140a9-4199-4777-c01d-1f1dd4f4fdbb.png)

元記事を表示

gitの競合解消及びdevelop最新版反映

  仕事でgit利用していて、リリースの時、競合が結構頻繁にありますので、解決手順をメモしときます。

#競合解消

“`sh

$ git fetch origin develop
git checkout feature/XXX
$ git merge FETCH_HEAD
手動で解消して
$ git add .
$ git commit -m “リリース”
$ git push origin HEAD
“`

#developの最新版を反映

“`sh
Bash$ git branch
develop
* feature/XXX
# 一旦ファイルをコミットしても良いが、stashで一時的に別の場所に退避しても良い
git stash
git checkout develop
git pull origin develop
git checkout feature/XXX
git merge develop あるいは git rebase develop
# 退避した変更を適用しなおす
$ git stash pop

“`

元記事を表示

gitとgithub

# はじめに
## Gitとは
### Gitはバージョン管理システム
バージョン管理すると何が嬉しいのか
– どのファイルの誰がいつ何のために変化したかを残せる

###Gitの仕組み
変更履歴を順々に記録する。記録する際にメッセージをつける。

###流れ
– pull
– 共有レポジトリを共有
– レポジトリ
– 変更履歴を記録する場所
– commit
– 個人レポジトリに変更履歴を記録
– push
– 共有レポジトリに登録

## GitHubとは
Gitリポジトリのホスティングサービス

### 特徴
– プルリクエストによるコラボレーション
– 他チームのソフトウェアを見れる

# Gitの初期設定
## 登録
‘ – git config –global user.name “name” ‘
‘ – git config –global user.email mailadress.com ‘
## ローカルレポジトリ作成
– リポジトリとはファイルやディレクトリの状態、変更履歴を記録する場所
‘ git init ‘
.gitディレクトリが作成される

元記事を表示

git pushしたらPermission deniedで403エラーになるときの対処法

# git pushしたらエラーで返ってきた!!

会社用と個人用のアカウントを使い分けていたのですが、なぜかpushできなくなりエラーで返ってきてしまいました…

“`
remote: Permission to ユーザー名/リポジトリ名.git denied to 別のユーザー名.
fatal: unable to access ‘https://github.com/ユーザー名/リポジトリ名.git/’: The requested URL returned error: 403
“`

そこで`~/.gitconfig`ファイルにメインアカウントとメールアドレスを設定

“`
$ git config –global user.name “メインアカウント”
$ git config –global user.email “メインアカウントメールアドレス”
“`
確認

“`
$ cat ~/.gitconfig

[user]
name = メインアカウント
email = メインアカウントメールアドレス
“`

これでもう一度push

元記事を表示

Githubでのプログラム修正の流れ その3

##はじめに
以下の記事の続きです。
[Githubでのプログラム修正の流れ その1](https://qiita.com/ysda/items/7da00da7fe3d13b7ca6f)
[Githubでのプログラム修正の流れ その2](https://qiita.com/ysda/items/61318db52b45da31eaf2)

##今回の記事に出てくる言葉
| 用語 | 意味 |
|:—————–|:——————
| リポジトリ |ファイルやディレクトリの
変更履歴を保管しておくもの|
| ローカルリポジトリ |自分のPC上にあるリポジトリ|
| リモートリポジトリ |インターネット上に存在するリポジトリ
GitHubやbitbucket等|
| コミット |ファイルの修正や追加をローカルリポジトリに
変更履歴として記録すること|
| ブランチ    |変更履歴の流れを分岐して記録していく物。masterブラ

元記事を表示

Reinitialized existing Git repository in が出たときの対処法

## はじめに
ただの備忘録のうちのひとつ。将来のために、、、

## git init したときのやつ
“`
$ git init
Reinitialized existing Git repository in ~
“`
## 結論:やることない
特にやることない。Reinitializedとか言うから「初期化して最初から⁉」とか思ってたけどそうではないらしい。

## 関係ないけど
名前とメールの確認もたまにしたくなる

“`
$git config –global –list
user.name=hogehoge
user.email=hoge@gmail.com
“`

###### 参考
https://qiita.com/ragingalpaca/items/ef247e459ff2e7759ba9

gitのauthorの確認と変更

元記事を表示

故障かな?とおもったら【Git編】

# 故障かな?とおもったら

|現象・症状|ご確認いただくこと|対処方法|
|—|—|—|
|`git`コマンドが使えない|`.git`がありますか|`git init`で初期化してする
`git clone リポジトリURL`でクローンする|
|`git add`できない|ファイルが`.gitignore`の対象になっていますか|別のディレクトリに配置する
追跡対象外のファイルであっているか確認する|
|`git commit`できない|`git config –list`で`user.email`、`user.name`が設定されていますか|`git config –global user.email ‘あなたのemail’`と
`git config –global user.name ‘あなたのお名前’`で設定する|
||`git add ファイル名`でステージングしていますか|`git add ファイル名`でステージングする|
|`git push`できない|`git remote -v`でなにか表示されますか|`git remote se

元記事を表示

gitで対象ファイルをあるコミット履歴の状態に戻す

“`
git checkout コミットハッシュ値 ファイルパス
“`

### 例
“`
git checkout abcdefghijklmnopqrstuvwxyz hoge/fuga.txt
“`

元記事を表示

Ubuntu18.04でのGogs鯖の導入

# はじめに
Ubuntu18.04でgogs鯖を立てる記事です.
経緯としてはサークルの代表からGit鯖立てろ!ってことでGogs軽そうで良さげじゃねと

#導入(失敗編)
“`ruby:PackageのInstall
$ wget -qO- https://dl.packager.io/srv/pkgr/gogs/key | sudo apt-key add –
$ sudo wget -O /etc/apt/sources.list.d/gogs.list \
https://dl.packager.io/srv/pkgr/gogs/pkgr/installer/ubuntu/16.04.repo
$ sudo apt-get update
$ sudo apt-get install gogs
“`

コマンドはGogsのガイドをそのままコピーで楽ちん!!!と思ったら動かなかった…
あ,UbuntuのVersionが18.04.4やんけ!!!

“`ruby:UbuntuのVersition確認
$ cat /etc/lsb-release
“`

#導入(成

元記事を表示

VSCode で「Git: remote: HTTP Basic: Access denied」というエラーメッセージが出たときの対処方法

# [VSCode] で「Git: remote: HTTP Basic: Access denied」というエラーメッセージが出たときの対処方法

[VSCode]:https://code.visualstudio.com/
[Git]:https://ja.wikipedia.org/wiki/Git

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/107592/cd11ca84-c395-6e06-7090-3519141bd161.png)

[Git]サーバー側のIDのパスワードなどを更新した場合に出る模様。

要するに、Windowsが覚えている「資格情報」を更新すればよいのだが、更新するには、いったん削除するしか手段が無いっぽい。

詳しい情報はこちら↓
資格情報マネージャーにアクセスする
適用対象: Windows 10
https://support.microsoft.com/ja-jp/help/4026814/windows-accessing-credenti

元記事を表示

SourcetreeからGitKrakenに移行しました?

## おはようございます?
突然ですが久野は今チームでアプリを開発しています.そこではみんなGitKrakenを使っているのでお前も使えということで愛用だった(べつに使いこなしてはいない)SourcetreeからGitKrakenに移行しました.ヒィ

## Sourcetree
sourcetree

日本人ならGit初心者はみんなSourcetree使うんじゃないかと勝手に考えています.日本語表示だし,GUIが見やすくてすごく直感的に操作できます.1人で開発したものを永遠GithubにあげるだけならSourcetreeでいいと思います.

## GitKraken
gitkrakenきくちゆうきが残業時間とGitコミット行数の関係を調べてみた

システムエンジニアの菊池 祐騎(きくちゆうき)です。
※「100日後に死ぬワニ」の作者きくちゆうきさんとは別人です

さて、唐突ではありますが
働き方改革の流れで長時間労働のみならず従来の週5勤務も含め、様々な部分で変革が起こっています。

が、悲しいことにデータを無視した(つまり現実を見ていない)対策ばかり散見されるように思います。
そこで今回はデータドリブンをテーマに、果たして勤務日数や残業時間が仕事の成果にどう関係するのか明らかにすべく、これらとGitのコミット行数との関係性を調べてみることにしました。

先に結論:
・週5日勤務時と週4日勤務時で、コミット行数に有意な差は見られない
 →週に5日働いた日と4日働いた日で、1週間あたりの成果は変わらない
・残業時間が多いときと少ないときでコミット行数に有意な差は見られない
 →残業をたくさんしたときと、しなかったときで1日あたりの成果は変わらない

どうでしょう?
驚いたでしょうか?それとも、やはりという感じでしょうか?

それでは、今回の調査方法を解説します。

■集計・分析方法
・Gitのコミットログから週別のコミット行数を取

元記事を表示

git checkoutって色んな意味持たせ過ぎじゃない?

# きっかけ
前回の記事([「こんなことしたい」って時にどんなgitコマンド使えば良いのか?](https://qiita.com/kabu0404/items/ea5e48b4e27ccd2cc5ef))を書いているときに、
コマンドについて下図のようなお絵かきをして整理していたのですが

![コマンドの整理](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224361/c93e25a2-f961-cd28-b0d6-af41beedb9c9.png)

**`git checkout`って状況/条件によって挙動が色々ありすぎじゃない?**

※ちなみにお絵かきしている途中で同じような物を公式が[チートシート](https://ndpsoftware.com/git-cheatsheet.html)として用意していることに気づきました…

# `git checkout`の挙動整理
## ブランチ名を指定した場合
|ローカルブランチに存在する|リモート追跡ブランチに存在する|`git checkout`の挙

元記事を表示

git pull時に 【Your local changes to the following files would be overwritten by merge】とエラー

#エラー内容

$ git pull origin masterをすると

“`
error: Your local changes to the following files would be overwritten by merge:
config/routes.rb
Please commit your changes or stash them before you merge.
“`

が出てくる。

#原因
pullした内容と自分の編集した箇所(ここではconfig/routes.rb)が被っている。

#解決策
pullした内容の箇所が自分も編集している所の為、
mergeする前にcommitするかstashしてと言われる。

なので、今回はコミットを選択。

“`
$ git add *
$ git commit -m “コミット名”
$ git push origin 自分の作業ブランチ
“`

でpushし、Github上で
コンフリクトが起きなければ再度、

“`
$ git pull origin master
“`

とpullすればO

元記事を表示

【Git】名前は可愛いしやるやん、cherry-pick

## はじめに
現在プログラマとして働かせていただいている会社では、developブランチへのマージや開発環境へのデプロイは全て自動化されています。
しかし、developと開発時に切ったブランチをマージする際にコンフリクトが発生した場合には、仕方なく手動でマージを行います。
ここでのブランチの切り方によっては、developに存在するが、開発用に切ったブランチに存在しないファイル等があったりもします。
こうなると、マージする際に余計な差分が出てしまうことになります。(後で詳しく解説します)
つまり、差分(コミット)を**選んで**マージしなければなりません。
そんな時に使えるのが、今回紹介する**cherry-pick**です。
名前が可愛くて好きです。
しかも私が今携わっているプロジェクトではたくさん使います。
独学でgitを勉強した際には名前すら聞いたことがなかったので、復習がてら紹介します!

## 状況解説
ブランチの状況を解説します。
今回は、ラインログインの機能を追加したい!ということにします。

![スクリーンショット 2020-03-23 20.33.24.png](

元記事を表示

小技集: tigからファイルを削除したい

## WHAT
tigからファイルを削除する方法

**$HOME/.tigrc**に以下を追加

“`zsh
bind status D !rm %(file)
“`

ハイライトされているファイルに対して, `ctrl+d`でtigからファイルを削除できます

元記事を表示

リモートワークや副業で役立つ。複数の開発プロジェクトを効率的かつ安全に取り扱うための Tips 集

個人・本業・副業などで、認証アカウントや設定の異なる複数のプロジェクトを間違いを起こさず便利に使い分けるための Tips 集です。

使えそうなものをつまみ食いしてもらえると幸いです。

## (前提)

### 作業環境

普段使っている作業環境です。必須要件ではありません。

* Mac
* bash

### ディレクトリ構成

認証アカウントは大体案件毎に共通になり、その中に複数のプロジェクト(リポジトリ)があることも多いので、大体このような形にしています。

“`
~/
.bashrc
.gitconfig
Work/
CompanyA/
ProjectA-1/
.git/
ProjectA-2/
.git/
CompanyB/
ProjectB-1/
.git/
ProjectB-2/
.git/

元記事を表示

githubに別アカウントでプッシュする方法 – 間違えて他のgithubアカウントでpushしたとき

間違えて会社のアドレスで作ったGitHubアカウントじゃなくて私用のアカウントでcommitしpushしたとき、見ず知らずのアカウンが、チーム開発のリポジトリのcommitに乗ってしまうことがあります。

そんなときは、ローカルで、下記のように実行して直して

“`
% git config user.name ryosuke.fujisawa
% git config user.email ryosuke.fujisawa@社用アドレス.com
“`
んで、確認して

“`
% git config user.name
% git config user.email
“`
上記のコミットは間違って私用アカウントでpushしたものですよとチームに伝わればok

“`
% git commit –allow-empty -m “gitユーザーの変更”
% git push
“`

元記事を表示

remoteブランチをcheckoutする方法 – Git

## まずはフェッチしてリモートのブランチをローカルの追跡ブランチへ持ってくる
“`
% git fetch
“`

## フェッチされた追跡ブランチを見る、ここにあればチェックアウトできます
“`
% git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/feature/dev
“`

## 追跡ブランチをローカルの新しいブランチとしてチェックアウトする、これでリモートへpushできます
“`
% git checkout -b dev origin/dev
“`

元記事を表示

git初心者がgitを使いこなすためのメモ

###(1)初期設定

“`
git config –global user.name “名前を入れる”
git config –global user.email メールアドレスを入れる
“`

###(2)gitリポジトリを作成する
リポジトリを作成したいディレクトリに移動して、下記コマンドを実行。

“`
git init
“`
・リポジトリ:ファイルやディレクトリの状態、変更履歴を記録する場所。

###(3)gitの基本的なワークフロー
####①ファイルの変更をステージングエリアに追加する

“`
git add ファイル名     ←入力したファイルを追加
git add .          ←すべてのファイルの変更を追加
git rm ファイル名 ←削除したファイルを記録
“`
####②ローカルリポジトリにコミットする

“`
git commit -m “コメントする”
“`
####③リモートリポジトリにプッシュする
まずリモートリポジトリに登録する

“`
git remote add origin 登録gitのURL

元記事を表示

OTHERカテゴリの最新記事