git commit,git push,git fetch,這些太簡單了,就不解釋了
1、dev切換到別的分支release去修改bug,但是要保留dev的更改
(1)、git commit
dev分支 commit,不push
(2)、git stash
dev上執行即可切換到release了git stash save '備註資訊' //dev上執行
複製程式碼
恢復?,先切回到dev分支,再執行
git stash list //dev上執行,檢視stash list
git stash apply stash@{0} //dev上執行,恢復操作複製程式碼
git stash clear清空所有的stash list //dev上執行複製程式碼
2、dev分支程式碼合併到master
git merge
先切換到master分支,再執行
git checkout master
git merge dev複製程式碼
若合併分支時提示“Already up-to-date”
在使用Git把當前分支合併到master提示“Already up-to-date”,但當前分支和 master 分支程式碼不同步。
假設當前分支是:dev,主分支是:master。
解決方法:
假設當前分支是:dev,主分支是:master。
解決方法:
git checkout master;
git reset --hard dev;
git push --force origin master複製程式碼
3、dev的程式碼合併錯了,需要回滾到合併之前的狀態
git reset
分支:dev(主分支),feature(被合併分支)
git checkout dev
git reflog
git reset --hard version複製程式碼
git merge feature //在dev分支上執行,合併feature程式碼到dev複製程式碼
檢視git記錄
“d58fe71”是合併的記錄,若想撤銷此次合併,則需將版本回滾到“4a98274”版本
此時再檢視記錄
執行回滾操作:
git reset --hard 4a98274複製程式碼
提示“HEAD is now at 4a98274 ”表示回滾成功,此時再檢視git history則會發現dev分支上合併記錄了,而且程式碼也回到了合併之前的狀態。