我在使用Visual Studio 2015插件时使用github很新,而且我被卡住了。
我在github上创建了一个新项目,并且能够将软件仓库链接到我的visual studio项目。我能够将一些代码同步到软件仓库。 然后我在网站上的github上为我的项目添加了一个自述文件。第二天,我制作了更多的代码并决定将它同步到软件仓库,但现在它说我有传入的提交(自述文件)。我点击了传入提交的提取但没有任何反应。我点击了拉,它表示我的更改将被合并覆盖。
然后我去了传出提交(我刚制作的那些)并点击推送。它说"你不能将分支主机推送到远程源,因为远程存储库的分支中有新的提交。推送此分支将导致远程存储库中分支的非快进更新"
我点击几件事情仍然无法解决这个问题。我想用自述文件更新我当前的项目,然后更新我的软件仓库。 (我也是术语的新手)
答案 0 :(得分:2)
问题是您已经对服务器进行了更改,提交了更改,并且更改了本地副本上与其冲突的某些相同文件,以至于Git无法解决哪些应该" win"。
您必须查看每个存在冲突的文件,了解冲突的位置,对其进行排序,告诉git您已整理文件,然后进展。
因此Fetch
将从本地github中删除所有更改,但不会更改您的工作副本。
Merge
旨在下拉当前分支机构中的更改并将其合并(以及它遇到问题的地方)。
使用git的最佳建议(无论是否使用Visual Studio)):获取并合并经常。至少每天都有。
这个页面看起来像是一个合理的教程,如何做到这一点。它看起来类似于我的VS2015 git插件。
https://msdn.microsoft.com/en-us/library/dd286559.aspx
这个页面是一个很好的教程,可以从命令行执行:
https://easyengine.io/tutorials/git/git-resolve-merge-conflicts/
(但我必须说:Visual Studio工具让它更容易)。
所以关键点是:
然后您就可以提交本地更改并将其推送到服务器。
第二个提示:我认识的大多数使用git和visual studio的人也广泛使用命令行客户端,并且通常还有一个额外的gui客户端(例如Atlassian&#39的Sourcetree)。我每天都使用这三种。