簡體   English   中英

Git:merge隱藏了某些變化

[英]Git: merge hides certain changes

我們使用git在2015視覺工作室工作。 我們有中央存儲庫(GitLab)和單個分支'master'。 兩個人克隆了存儲庫。

  1. 第一個人在解決方案中添加了“test-new-file-v.t​​xt”文件。 它已更改解決方案文件(.sln)並更改了字符串“VisualStudioVersion = 14.0.23107.0”。 然后他在您的本地存儲庫中提交,然后在中央存儲庫(GitLab)中推送此提交。 之后,我們在中央存儲庫(GitLab)中觀看了此提交: 在此輸入圖像描述

  2. 第二個人在解決方案中添加了“testgit.txt”文件。 它也改變了解決方案文件(.sln),但沒有更改字符串VisualStudioVersion。 然后他想在推送前拉中央存儲庫(GitLab)。

  3. 第二個人發生了沖突。 他通過視覺工作室2015合並,看到不同的人在“VisualStudioVersion = 14.0.23107.0”上更改“VisualStudioVersion = 14.0.24720.0”時犯了錯誤。 第二個人想要保持字符串“VisualStudioVersion = 14.0.24720.0”不變。 他為這個字符串選擇了本地狀態“VisualStudioVersion = 14.0.24720.0”並進行提交合並。 之后,他將這兩個提交推送到中央存儲庫(GitLab)。
  4. 之后,我們觀察了中央存儲庫(GitLab)中的歷史記錄和更改,並看到提交合並來自第二個人: 在此輸入圖像描述

我們看到在中央存儲庫(GitLab)解決方案文件包含字符串“VisualStudioVersion = 14.0.24720.0”,這是正確的,但我們不會看到這個字符串替換字符串“VisualStudioVersion = 14.0.23107.0”,因為從第一個人提交包含此字符串並在合並提交之前。

我的問題:

  1. 這是正確的行為嗎? 我希望在合並提交中看到字符串“VisualStudioVersion = 14.0.23107.0”更改為“VisualStudioVersion = 14.0.24720.0”。
  2. 我怎樣才能實現可以看到所有變化的行為?
  1. 我假設他在主分支上的提交之前沒有得到你的更改,因此在本地他可能沒有被推動的更改。 如果您的分支已過期,這可以防止代碼被還原。

  2. 我建議不要改變主人。 創建單獨的本地分支並將pull請求用於master。

考慮使用git分支策略來保持您的分支機構有序。

Git分支模型

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM