git diff 簡易操作說明
先git log 查看commit ID, 記錄你想要打的補丁的ID
比如說:
git log
commit 4ff35d800fa62123a28b7bda2a04e749addf1918
Author: chenfulin5 <chenfulin5@gmail.com>
Date: Tue Dec 20 17:37:09 2016 +0800
[I2C EEPROM]
commit acb8cd154cecf20894ae25fc3787d6b6ba9b32ea
Author: chenfulin5 <chenfulin5@gmail.com>
Date: Mon Dec 19 18:45:03 2016 +0800
[I2C0 AT24] add at24 eeprom
那么你就可以運行如下命令進行生成patch
git diff acb8cd15 4ff35d80 > patch
現在已經生成了一個patch, 那么可以使用 git apply 進行打補丁。
git branch
不過我們現在可以建一個分支進行試驗。
git branch new_branch
git branch
可以看到多了一個分支。
切換分支使用如下命令:
git checkout new_branch
也有快捷命令直接創建分支並切換:
git checkout -b test_branch
git branch 可以看到你已經切換到了test_branch 分支上面。
刪除分支:
git branch -D test_branch
git branch
可以看到已經將 test_branch分支刪除掉。
重命名分支:
git branch -m new_branch chen_new_branch
git branch
可以看到new_branch 已經改名為chen_new_branch分支
分支合並:
現在我假定你還有兩個分支:
一個master主分支以及一個chen_new_branch分支。
git checkout chen_new_branch
確定你現在在這個分支上面
提交一個改動:
echo "test" >> test
git add .
git commit -m "This is test"
git diff chen_new_branch master
就可以看到不同
也可以git log master
git log chen_new_branch
查看他們兩個分支的commit 有什么不同。
然后跳到master分支:
git checkout master
git branch
確認你已經在master 分支上面。
git merge chen_new_branch
合並。
git apply
回到我們剛才利用git diff HARD HARD > patch 生成的補丁文件。
將這個補丁文件拷貝過來
git checkout -b patch_test
git apply patch
git status
看到狀態后你知道你要做相關的動作了嗎?
OK你做吧
最后:
git commit -m "test"
你是不是想這不是試驗,那么
git checkout master
git merge patch_test 合並分支。OK