【发布时间】:2016-04-12 18:43:09
【问题描述】:
我有一个名为 source_report_overview_Approach3 的本地分支,并且在 github 上有一个远程分支,即 origin/source_report_overview_Approach3。
-
在一个点,两者都指向同一个提交,如下图所示。
现在我向我的本地分支再次提交 (
git commit) 并带有消息“测试提交”。这将我的本地分支向前移动,同时将远程保持在同一位置,如下所示:现在我将此提交推送到远程 (
git push origin source_report_details_Approach3)。据我了解,git 应该将remotes/origin/source_report_details_Approach3移动到稍后的提交,即test commit,并且我的本地和远程分支应该是同步的,并且应该指向相同的test commit,但不知何故它做了如下所示的事情:现在如果我做
git status,它会给我以下信息: 我相信这不应该发生。不应该将remotes/origin/source_report_details_Approach3更新为自动指向source_report_details_Approach3。我再次提交 (
git commit),方法是在提交test commit和消息test commit 2中所做的相同文件中的相同位置进行更改。它使历史如下:我该如何解决这个问题。根据我对 git 的了解,这很奇怪。
如果我尝试使用
git pull origin source_report_details_Approach3拉取分支,则会产生合并冲突。这是因为test commit and test commit 2都在同一文件的同一位置进行更改。 Git 尝试将test commit从远程合并到我的本地分支。由于我的本地文件有test commit 2,因此会产生冲突。另外,我是唯一在分支机构工作的人。仍然因为这个问题,我几乎每次必须推送任何东西时都必须解决合并冲突。
【问题讨论】:
-
图片丢失。
-
听起来很不寻常。但是鉴于您是唯一在分支机构工作的人,如果您确定您的本地分支机构是完美的,那么是什么阻止您进行
git push origin source_report_details_Approach3 -f? -
@venkatKA 图片在那里。尝试提神醒脑。我可以看到问题中的图片。
-
@venkatKA 当然可以。但问题是为什么会发生这种情况。它不应该。对吗?
-
你的服务器有钩子吗?
标签: git version-control githooks git-push git-pull