在推送中出现跟随错误
git.exe push "origin" master:master
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again. See the 'non-fast forward'
section of 'git push --help' for details.
To //oht-fsv1/Source/Git/Test
! [
我在debian服务器上有一个目录。我创建了一个要克隆的git代码库。这个git repo是这个目录的一个干净版本,它不包含所有非必要的存储在我的repo上的文件。
因此,我想克隆文件到这个目录中,但如果需要的话,我不想在没有“合并冲突”的情况下擦除公共文件。
我在上看到了这个解决方案:
git init
git remote add origin PATH/TO/REPO
git fetch
git reset origin/master # this is required if files in the non-empty directory are in the repo
git c
我对Visual Studio 2017中的Git不是很熟悉。我从一个分支创建了一个新分支。做了一些改变。在visualstudio.com上对我们的存储库进行了新的更改。创建了一个新的拉取请求,现在我收到以下错误。我不确定下一步是什么。如果我点击放弃,我会得到两个选项。反应式或删除源分支。如何手动解决此问题?我正在尝试找到一种在Visual Studio中显示冲突的方法,这样我就可以使用合并工具来编辑冲突。在我将VS推送到远程存储库后,VS中没有显示任何更改。找不到查找冲突原因以及如何手动解决冲突的方法。
这个展示了如何解决Git冲突,但我在VS中没有显示任何冲突。冲突警告显示在VSTS网站
我执行了一个git fetch origin master,然后执行了git pull origin master,在这两个命令之后,当我执行一个git status时,我得到:
$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 5 commits.
#
nothing to commit, working directory clean
发现这个奇怪的地方(因为现在我的本地用户是origin/master的),我再次将存储库克隆到其他位置,并正确地得到了它,所以远程回购是可
冲突甚至不应该是冲突。其中大多数都在我添加的文档中,比如tihs:
<<<<<<< HEAD
# returns the max_sequence for this section
=======
>>>>>>> merged with other_branch_that_isnt_master
我执行的命令是git pull --rebase origin master
但是当我只做git pull origin master的时候,我仍然会得到大量的冲突。
为什么没有适当地合并呢?就像git放弃了生活一
我想在git中重写一个提交,所以我做了一个git rebase -i 00112233或类似的事情,我得到合并冲突,而不对将要应用的提交做任何更改。我输入merge命令,编辑器弹出,我接受那里的内容,并存在合并冲突。
我对git rebase -i的理解是,HEAD被设置为00112233,然后按照编辑器中指定的顺序(在本例中我没有更改)应用00112233后提交(自从它们被应用到当前状态以来已经是一致的)。我不知道这个过程会如何导致合并冲突。
这种情况有什么可能发生呢?
假设我克隆了一个远程存储库,到目前为止它有一个提交=> A。然后,我对我的本地分支进行两次提交,因此它变成了=> A - B - C。然而,我的同事同时向他们的本地分支提交了另外两个提交,因此他们的提交历史变成了=> A - D - E。然后他们把它推到远程存储库。
然后我意识到我想推进我的更改,但是git push告诉我远程存储库就在我前面。所以,我做git pull。
我的问题是,跟踪远程跟踪分支的本地分支现在是什么样子?我知道会有合并冲突,但我的实际问题是:提交历史会是什么样子?
更确切地说,我修复了冲突,现在就提交了它们,我的提交历史会像这个A - D - E - F
我基本上有以下git repo布局
x ---- a -------------- b -------------- c ---->
y -- 1 -- 2 -- ┛ z -- i -- j -- ┛
其中x、y、z是初始提交。我之所以有这些多个初始提交,是因为我使用以下命令将多个git存储库合并为一个大存储库
git fetch git://github.com/<user>/<repo>.git refs/heads/master:refs/heads/<repo>
git merge --no-commit <rep