-4

我必须遗漏一些东西,几乎总是当我要推送我的提交时,我会被阻止,因为其他人在我之前推送了一个提交,而我的更改(我的提交)不再基于遥控器的尖端。

在这种情况下,我将再次克隆存储库(在另一个文件夹中)并再次手动更改每个文件,提交并希望没有人再次推到我面前。有时它会发生,所以我会第二次将 repo 克隆到另一个文件夹中,并且重复相同的历史记录。

在观察提交历史时,通过我的方法,我看到了一条我喜欢的干净线。

我注意到项目中的其他开发人员在他们自己的提交之后经常进行合并提交。我想这是因为他们面临与我相同的情况(之前有人推送过,并且更改不再基于提示),但他们以不同的方式处理这种情况(使用合并提交)。

问题是这些合并提交(至少它们正在完成的方式)没有引入任何东西,它们只是重复先前提交的更改,因为似乎开发人员在推送之前没有发出拉动。换句话说,我会说,提交历史记录线很脏。

我猜合并提交方法比再次克隆 repo 并再次修改每个文件更快。但是提交历史行很脏。

项目只使用一个分支,master。并托管在本地网络的共享文件夹中。

我过去常常从命令行执行 git,但这些天我几乎一直在使用https://www.sublimemerge.com 。

如何改进我的提交/推送工作流程?我应该使用其他工具吗?

4

2 回答 2

2

首先,如果您在不同的分支上进行开发会更好。即使您的其他开发人员坚持这样做,也不会阻止您进行分支。

  1. 创建一个新分支。
  2. 做你的工作,根据需要提交到这个分支。
  3. 切换到大师
  4. 拉下新的变化。
  5. 将您的分支合并到 master
  6. 推动更改。

或者,如果你真的坚持不使用分支并且你不喜欢这些合并提交,你可以做一个 rebase。

于 2021-05-20T23:09:37.940 回答
1

在这种情况下,我将再次克隆存储库(在另一个文件夹中)并再次手动更改每个文件,

这是相当乏味的。

相反,请执行以下操作:

git fetch
git rebase -i origin/master 

这将自动合并其他人所做的所有更改。如果更改与您的更改发生冲突,它会让您解决这些冲突。

然后终于

git push 
于 2021-05-20T23:11:25.183 回答