git merge缺少几次提交

时间:2015-04-23 10:32:09

标签: git git-merge

我是一个GIT新手,在尝试合并时我发现我的一些提交遗失了。我得到了以下结论

第一个命令缺少分支“ACCOUNT_RECORD_TO_DB”的某些提交。第二个命令显示提交的完整历史记录。有人能告诉我“ACCOUNT_RECORD_TO_DB”和“origin / ACCOUNT_RECORD_TO_DB”之间的区别吗?

提前致谢

git log ACCOUNT_RECORD_TO_DB --pretty=oneline

git log origin/ACCOUNT_RECORD_TO_DB --pretty=oneline

2 个答案:

答案 0 :(得分:2)

Origin是远程分支指针,如果你在团队之间共享分支,那么在git中,你必须把它放在远程的某些地方。

因此,origin / ACCOUNT_RECORD_TO_DB是您的远程分支,而ACCOUNT_RECORD_TO_DB是您的本地分支。

如果你的运行:git merge ACCOUNT_RECORD_TO_DB some_other_branch。它只会更新本地分支而不是远程指针。

git log origin / ACCOUNT_RECORD_TO_DB --pretty = oneline 这将显示最后面向本地的远程分支的日志,合并将不会更新它。

git log ACCOUNT_RECORD_TO_DB --pretty = oneline 这将在合并后显示本地分支的日志。

答案 1 :(得分:0)

说ACCOUNT_RECORD_TO_DB分支从commit C1分支出来

C1 - > C2 - > C3-> C4< ==主人 |
B1 - > B2 - > B3< == ACCOUNT_RECORD_TO_DB

现在我的理解是下面的命令只合并B1到C4的变化

git checkout master
git merge ACCOUNT_RECORD_TO_DB

要合并从B3到C4的变化,应该使用下面的命令。

git merge origin/ACCOUNT_RECORD_TO_DB

我是对的吗?