準備工做git
=========服務器
0、克隆一個遠程的代碼厙spa
git clone ...開發
一、在本地建立一個work分支工作流
git checkout -b workit
平常工做ast
===========推送
0、在本地的work分支作各類修改,修改完了之後提交。文件
git commit時間
一、去主幹上把別人最新的修改抓到本地的master
git checkout master
git pull origin master
二、在work分支上rebase主幹的修改
git checkout work
git rebase master # 此步驟有可能須要解決衝突。
2.一、(可選)若是此時xxx文件發生衝突,那麼git會自動在你本地建立一個臨時分支,你須要在這個分支下編輯衝突的文件,解決衝突:
編輯xxx文件
git add xxx
git rebase --continue # 繼續執行rebase,若是成功,會返回work分支
或者
git rebase --abort # 回退到rebase以前的狀態,返回work分支
2.二、(可選)若是你但願備份一下本地的work分支到服務器上,能夠選擇在這個時間點去上傳
git push origin work
三、在主幹上合併work分支的修改。(由於咱們已經作了rebase,這裏應該沒有任何衝突)
git checkout master
git merge work
四、把本地的master推送到服務器,讓別人能看到你的工做成果
git push origin master
只要按照此順序操做,這些基本就是你平常須要用到的全部git命令了,不會遇到什麼奇怪的麻煩。並且master的歷史會保持線性,不會有多頭歷史。
注意:這只是咱們推薦的工做流程。由於git比較靈活,支持不少種不一樣的工做流程,因此攔不住你不按這個流程操做。因此,請務必弄明白本身在作什麼之後再操做。
在使用git的時候,請記住一個簡單的原則:
當你在本身的分支下修改了一個功能,想把代碼合併回主幹的時候,請在主幹上執行: git merge 分支名
當你在本身的分支下工做,此時別人在主幹上作了一些修改,你想把這些修改合併到你本身的分支上時,請在本身分支下執行: git rebase master (而不要執行 git merge master)
這樣作,可讓代碼的提交歷史記錄更整潔,尤爲是多人開發的時候,代碼的歷史是線性的