我是一个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
答案 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
我是对的吗?