假設我們有兩個會話 - sessionOne 和 sessionTwo。我使用 sessionOne 2 創建了一個初始專案,該專案有兩個提交并將該專案推送到 github 遠程:

然后我(作為另一個用戶)使用 sessionTwo 將這個 Github 存盤庫克隆到本地,然后我修改一個檔案并在本地創建一個提交:

然后我切換到 seesionOne 并創建第三次提交,然后將更改推送到遠程:

現在我切換到 sessionTwo 并從遠程拉取,因為我(代表另一個用戶)之前對 seesionTwo 上的現有進行了更改,因此存在沖突,因此我修復了沖突并 git 添加了合并更改,然后我將更改推送到遠程作為:

現在我的問題是,當我使用 sessionOne 來做時git pull,我得到一個與上面非常相似的輸出:

“modify sth”提交原本來自sessionTwo,但是在sessionOne的Sourcetree輸出中,它是藍色的,時間長了,我可能會認為這是我在很長時間后快速查看圖表時所做的更改。
uj5u.com熱心網友回復:
提交不“屬于”任何特定的存盤庫,無論該存盤庫是原始、上游、其他遠程還是本地克隆。Git 不會明確跟蹤哪個 repo 引入了提交。git 為每次提交跟蹤的內容是:
- 提交哈希
- 截至該提交時,repo 中所有檔案的狀態。
- 這是父提交
- 提交作者
- 提交者
- 作者日期
- 提交日期
- 提交資訊
我可能錯過了其他一些事情,但沒有關于提交來自哪個 repo。
?? 注意:提交訊息可能包含有關提交是從哪個遠程倉庫或 git 客戶端推送的
Merge branch 'master' from...資訊,例如上面示例中的訊息,但它是由 GitHub 添加的,而不是由 git 添加的,并且如果合并將不會出現在那里是直接完成的,而不是通過 GitHub 的界面。
你寫了“我可能認為這是我所做的改變”,這意味著你關心是誰做出的改變。在這種情況下,提交作者和提交者都會被跟蹤,正如我上面列出的那樣。
作者和提交者通常是相同的,但在例如您(作者)提交更改并提出拉取請求時有所不同。當拉取請求被接受時,您將仍然是作者,但接受拉取請求的人將被跟蹤為拉取請求產生的提交的提交者。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/368835.html
