當你使用Github for Windows應用程序時,我試圖用對於不習慣使用git命令的人來說應該很容易理解的術語來寫這個答案。
在Github for Windows中,Sync按鈕實際上執行了許多git命令,如eg. in here所述。如果同步按鈕是你一直在使用所有,以下情形可能會導致進入新的分支機構和怪異的合併提交:
- 人A已編輯的文件XYZ
- 某甲犯&同步XYZ到主
- 某乙在編輯文件XYZ沒有先同步(即B爲編輯舊版本的XYZ)
- 人B提交&嘗試XYZ
- Github上同步爲Windows嘗試自動處理這種情況
- 這可能導致從A和B的共同起始點創建新分支,B在這個新分支上提交併且A在主分支上提交
- 然後這個新分支將自動重新分配或合併(取決於衝突&等)主人
不幸的是,Github for Windows偶爾會弄壞rebase。然後你會在GUI中看到一條錯誤消息,並需要弄清楚Git shell中的情況。如果是這種情況,通常我發現唯一的解決方法選項是使用git rebase --abort
中止rebase,從GUI中撤銷B的提交(如果可能),並將B的工作空間恢復到包含A的提交的主分支。然後B可以在包含A的更改的文件上重新應用她的更改。
Github for Windows的Simple Person's Workflow通常應該是「同步,更改,提交,同步」,以便在編輯任何內容之前獲得所有先前的更改。在shell中使用實際的git命令仍然是首選。
什麼是「rebase分支」? –
什麼是「隨機數據庫」分支,爲什麼你想用'master'將數據集合起來?通常情況下,您將通過'master'重新綁定一個特性,以便通過在其上面提交提交來快速轉發後者。 –
當使用github for windows時,它顯示爲另一個名稱類似於(fj%74(REBASE) –