之前有一篇git的文章,就是幾個入門的命令,怎樣把代碼提交到倉庫裏面去。
但是提交的過程中總不是一帆風順,特別是多人協作的時候。
第一步我們需要把代碼拉取到本地:
git clone
第二步查看分支:
git branch -r
加上-r是看遠程倉庫的分支,去掉是查看本地的分支
git branch -a
查看所有分支
第三步將我們需要開發的分支拉取到本地:
git fetch
更新所有分支
git fetch origin master
更新遠程origin的master分支
git pull
也可以更新代碼,相當於是從遠程獲取最新版本並merge到本地
git fetch + git merge == git pull
第四步切換到我們需要的開發分支上:
git branch
git checkout test(分支名)
第五步提交代碼:
git pull
git add xxx
git commit -m ""
git push(如果是一個人開發這樣做是沒問題的,但是如果是多人開發,則需要和主幹合併)
第六步代碼合併:
git merge
如果只有master,直接可以合併代碼,多人開發的項目,需要將自己的項目與主幹合併。.如果有其他同事在主幹上提交了新的代碼,則我們就應該先拉取最新代碼。
先切到master:
git checkout master
git pull
拉取完之後我們在切到自己的分支(test)
git checkout test
合併分支到master,就是使master指向你當前的分支(test)
git merge test
最後,push代碼到遠程倉庫
git push
安利幾個常用的git命令;
當我們在一個分支開發後,需要切到另一個分支進行開發,那當前的分支怎麼保存呢?
別慌,可以用:
git stash
來暫存工作內容
暫存完之後,可以用status來查看:
git status
查看工作目錄和暫存內容
git stash apply stash@{0}
用以上命令,就可以恢復剛纔儲存的狀態了,stash@{0}表示存儲的分支名
恢復之後,可以用
git stash drop stash@{0}將之前的存儲狀態刪除
如果覺得麻煩。可以用:
git stash pop stash@{0}
這一行命令可以直接切換後刪除,相當於執行了上述兩行命令。
有些時候,合了一個新的分支後,出現問題,這個時候我們就需要線上回退了,
git reset --hard Head
表示回退到上一個版本。
git reset --hard commit_id
回退到指定的版本
commit_id可以通過git log來查看
git add -p
可以讓你逐條的選擇你的改動進入commit,這樣更加安全