我一直無法正確地說出這個問題,所以雖然我已經搜索了很多,我不認爲我真的知道我在問什麼。Git提交歷史與文件歷史不同步?
我們的團隊是Git的新手,我們遇到了我們不理解的行爲。我們正在開始一個全新的項目,現在我們只有一個Master分支。
場景A:
我開始存儲庫,並已做出到它的多個變化。我的一位同事加入了該項目並克隆了存儲庫。他開始在另一個領域工作,並沒有與這些更改同步好幾天。
當他推動他的改變的時候,他做出了改變並開始了一次拉動。正如預期的那樣,這一切都取消了我所有的更改。他也將這些改變提交給他的本地存儲庫,然後推動這些更改(有意義)。
我們在GitHub上看到的提交包含了他在過去幾天中所做的更改和所有更改(?),使他很難挑選出他所做的更改。但是,如果我們檢查文件歷史記錄,它們根本不包含這個歷史記錄。他們仍然反映了我上次推送更改的時間。
情形B:
很大程度上與上述相同,但另一(新)同事偶然忽略他的提交和拉步驟後傳入更改。幸運的是,這並不像聽起來那樣災難。提交歷史顯示這發生,但文件歷史沒有。我的文件基本上是「回滾」,沒有任何跡象表明文件的歷史,這似乎非常可怕。
我一直在做一些閱讀,關於如何在某個時刻應該使用開發分支,並讓每個人都分支併合並回dev,然後可能在完成所有工作時合併到master中。但我想我們並沒有從根本上理解在上述情況下發生了什麼。
編輯:我想我可能在概念上想象'pull --rebase'應該做什麼。
編輯2:也許不是。這是我的意思。我的同事和我只是通過創建具有不同內容的'testfile'來試驗這個,然後他創建了一個額外的'testfile2'。在接受他的更改時,有一個新文件和一個合併衝突(如預期的那樣)。我解決了一個衝突,然後將他的新文件和合並的文件都提交給了我的本地存儲庫。然後我推回遙控器。爲什麼它表明我在我的提交中添加了'testfile2',當我沒有,它已經存在?
哪個工具正在使用查看您的提交等? –
@VenkatNaidu只需使用GitHub。回購的提交歷史看起來真的很奇怪。我們只希望它顯示他添加的兩個文件,而提交會顯示他所有的文件以及他所下的所有更改。 我不確定如果我們做錯了什麼或這是預期的。無論哪種方式,它都很難遵循。我想我們應該有更好的方式來處理這個問題,它就像是一個初學者類型的場景,我們不確定它爲什麼會這樣。 – lucasv
你能否爲你的倉庫提供github鏈接,否則很難建議一個可行的解決方案。 – ckruczek