Git:合并隐藏了某些更改
Git: merge hides certain changes
我们与 git 一起度过了 visual studio 2015 年。我们有一个带有单个分支 'master' 的中央存储库 (GitLab)。两个人克隆了存储库。
第一个人在解决方案中添加了 "test-new-file-v.txt" 文件。它更改了解决方案文件 (.sln) 并更改了字符串 "VisualStudioVersion = 14.0.23107.0"。然后他在您的本地存储库中提交,然后将此提交推送到中央存储库 (GitLab) 中。之后,我们在中央仓库(GitLab)中看到了这次提交:
第二个人在解决方案中添加了 "testgit.txt" 文件。它也更改了解决方案文件 (.sln),但没有更改字符串 VisualStudioVersion。然后他想在推送之前拉中央仓库(GitLab)。
- 第二个人发生了冲突。他在 visual studio 2015 年合并,发现另一个人在 "VisualStudioVersion = 14.0.23107.0" 上更改 "VisualStudioVersion = 14.0.24720.0" 时犯了错误。第二个人想保持字符串 "VisualStudioVersion = 14.0.24720.0" 不变。他为此字符串选择了本地状态 "VisualStudioVersion = 14.0.24720.0" 并进行了提交合并。之后,他将这两个提交推送到中央存储库 (GitLab)。
- 之后,我们查看了中央存储库 (GitLab) 中的历史记录和更改,并看到了第二个人的提交合并:
我们看到在中央存储库 (GitLab) 解决方案文件中包含字符串 "VisualStudioVersion = 14.0.24720.0",这是正确的,但我们没有看到这个字符串替换字符串 "VisualStudioVersion = 14.0.23107.0",因为首先提交guy 包含此字符串并且在合并提交之前。
我的问题:
- 这是正确的行为吗?我希望在合并提交中看到字符串 "VisualStudioVersion = 14.0.23107.0" 更改为 "VisualStudioVersion = 14.0.24720.0".
- 我怎样才能实现可以看到所有更改的行为?
我假设他在 master 分支上提交之前没有得到你的更改,所以在本地他可能没有要推送的更改。如果您的分支已过时,这可以防止代码被还原。
我建议不要对 master 进行更改。创建单独的本地分支并使用 pull requests 到 master.
考虑使用 git 分支策略来保持分支有序。
我们与 git 一起度过了 visual studio 2015 年。我们有一个带有单个分支 'master' 的中央存储库 (GitLab)。两个人克隆了存储库。
第一个人在解决方案中添加了 "test-new-file-v.txt" 文件。它更改了解决方案文件 (.sln) 并更改了字符串 "VisualStudioVersion = 14.0.23107.0"。然后他在您的本地存储库中提交,然后将此提交推送到中央存储库 (GitLab) 中。之后,我们在中央仓库(GitLab)中看到了这次提交:
第二个人在解决方案中添加了 "testgit.txt" 文件。它也更改了解决方案文件 (.sln),但没有更改字符串 VisualStudioVersion。然后他想在推送之前拉中央仓库(GitLab)。
- 第二个人发生了冲突。他在 visual studio 2015 年合并,发现另一个人在 "VisualStudioVersion = 14.0.23107.0" 上更改 "VisualStudioVersion = 14.0.24720.0" 时犯了错误。第二个人想保持字符串 "VisualStudioVersion = 14.0.24720.0" 不变。他为此字符串选择了本地状态 "VisualStudioVersion = 14.0.24720.0" 并进行了提交合并。之后,他将这两个提交推送到中央存储库 (GitLab)。
- 之后,我们查看了中央存储库 (GitLab) 中的历史记录和更改,并看到了第二个人的提交合并:
我们看到在中央存储库 (GitLab) 解决方案文件中包含字符串 "VisualStudioVersion = 14.0.24720.0",这是正确的,但我们没有看到这个字符串替换字符串 "VisualStudioVersion = 14.0.23107.0",因为首先提交guy 包含此字符串并且在合并提交之前。
我的问题:
- 这是正确的行为吗?我希望在合并提交中看到字符串 "VisualStudioVersion = 14.0.23107.0" 更改为 "VisualStudioVersion = 14.0.24720.0".
- 我怎样才能实现可以看到所有更改的行为?
我假设他在 master 分支上提交之前没有得到你的更改,所以在本地他可能没有要推送的更改。如果您的分支已过时,这可以防止代码被还原。
我建议不要对 master 进行更改。创建单独的本地分支并使用 pull requests 到 master.
考虑使用 git 分支策略来保持分支有序。