git を使っていくにあたって、ざっとメモした内容です。かぶっているのもありますが、そのままシェアします。
トピックブランチの作業中に、master ブランチで重要な変更が加えられた。
トピックブランチにおいて、
git merge master
コンフリクトしたとき、そのファイルをしるのは git status
修正後、
git add して commit する。
どちらを使うか決まっていれば、
git checkout —ours hello.txt
git checkout — theirs hello.txt
その後、
git add hello.txt
git commit hello.txt
全てのコンフリクトが解決したら、git status が
All conflicts fixed にかわるはず
ファイルの変更とりけし
git checkout — AAA.txt
ブランチの作成・変更・マージ履歴を表示
git show-branch
コミットやり直し
git commit -m “初期コミット”
git add 忘れてたファイル
git commit —amend 上書きしてコミットは1回だけになる
Add したのをやめる
git reset HEAD AAA.txt
git pull は
git fetch と git merge origin/master とおなじ
hotfix
元:マスタ 先:develop とマスタ
git checkout -b hotfix master
修正
git commit -m “Fix a bug”
git checkout master
git merge —no-ff hotfix
git tag -a 1.2.1
git checkout develop
git merge —no-ff hotfix
git branch -d hotfix
add するまえに戻したい
git rm —cached
コミットメッセージ修正
git commit —amend -m “replace message”
今のブランチにマージずみのブランチを表示
git branch —merged
git branch —no-merged
[追跡ブランチ]
ローカルにはmaster
とorigin/master
の2つのブランチが存在する。
master
はローカルの更新を見ている。
origin/master
はリモート側の更新を見ている。
git fetch
を行った際に origin/master
は最新になるがmaster
は更新されない。
git merge origin/master
を行うと master ← origin/master
へmerge
される。
—-
[ローカルブランチをリモートにプッシュ]
git push origin AAA
[リモート含むブランチの一覧]
git branch -a
[リモートブランチを消す]
まず、ローカルを消す
git branch -d ios7
それからリモートを消す
git push origin :ios7
[現在のブランチ名を変える]
git branch -m AAAA
[リモートから誰かのブランチをもらってくる]
git fetch
git branch sim_A origin/sim_A
[ローカル変更を一旦退避]
git stash save 一時保存
git stash pop 戻す
[ブランチ削除]
git branch -d AAAA
[リモートマスタの内容を開発ブランチに反映させる]
git checkout master
git pull origin master
git checkout hoge
git merge master
master から topic を作る
git branch topic master
ブランチとは、最新コミットの別名
各々がコミットされて枝分かれしていく
マージ2つ
1,FF とりけししづらい
2,枝分かれ後にマージし、マージコミットができる
topic を origin(サーバ)に同期
git push origin topic
push されているブランチを rebase すると push できなくなる
[ローカルマスターの更新]
git checkout master
git pull origin master
[hotfix]
master から hotfix ブランチを作成し
そこで作業
OK ならマスターに移って
git checkout master
git merge hotfix
でマージ
ファイルを修正したときも git add
ステージング後に修正したファイルを、ステージングの状態に戻す
git checkout — — dir/files
現在ブランチに指定ブランチをマージ
git merge ブランチ名