如何在没有拉动的情况下推?

时间:2015-12-20 11:44:22

标签: git

我和另一个正在研究项目组件。

我们曾经推拉等等。一旦我创建了该项目的新副本而没有从远程存储库中获取并在其中进行了许多更改。

现在我无法将其推送到远程存储库。

它投诉在推之前拉动......

还有其他方法可以解决吗? 或者我是否需要提取并复制并粘贴所有这些更改?

2 个答案:

答案 0 :(得分:7)

您可以在提取内容的基础上重播本地提交

git pull --rebase

然后你就可以毫无问题地推动

https://gitmap.files.wordpress.com/2010/12/pull-rebase.png?w=620

Image from gitmap: "Learning GIT")功能

另请参阅“Why one should use ‘git pull’ command with ‘rebase’ option.”:

http://code4reference.com/wp-content/uploads/2013/06/git-pull-rebase1-e1371538599469.jpg

答案 1 :(得分:1)

问题不应该是如何在没有拉动的情况下推动,而是如何在没有复制粘贴变化的情况下进行拉动,因为这是永远不必要的。

进行更改后拉取时的默认设置是合并远程更改。另一种方法是使用git pull --rebase进行变基,从而产生更清晰的历史记录:您的更改将应用​​于远程更改之上。

在这两种情况下,您必须首先提交所有更改,使用未提交的更改将无效。如果您在同一个地方编辑了文件,也可能会遇到冲突。如果您使用图形git客户端,它将帮助您解决冲突,否则搜索“解决git合并冲突”以了解更多信息。