如何识别某个命名分支的分支点

时间:2018-10-17 20:04:05

标签: git

编辑:

每个能够阅读的人都应该认识到,我没有问过如何解决我描述的问题(因为我经常读到该错误的处理方法,但无法理解解决方案),但是那个众所周知的名字传递给

git diff

以创建正确的补丁程序。

结束编辑

由于某些重复的原因,我无法进入远程仓库,这(对我而言)使得使用git无法处理分支:

error: failed to push some refs to 'user@machine:/directory'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally.

因此,我决定创建一些补丁文件,并将其应用到一些干净的目录中。但是我不知道众所周知的对象名称代表“分支开始A”,以便确定我得到了正确的补丁。 所以我必须传递什么参数

git diff

2 个答案:

答案 0 :(得分:0)

您领先于远程仓库。一种方法是将本地工作保存在其他位置,然后使用

将当前存储库重置为远程设备的头部
git reset --hard HEAD

警告:此命令将清除您在本地所做的任何工作和保存的内容

重置为HEAD后,使用以下命令

git pull origin master

在此步骤中,您正在与远程仓库进行同步。现在,您可以在本地分支上替换保存的工作,其余的工作很容易。

git add .
git commit
git push origin master

答案 1 :(得分:0)

解决此问题的一种常见方法是先运行git fetch(如果要获取特定的远程对象,则运行git fetch origin,或者运行git fetch --all以获取所有远程对象)。这不会影响您的工作目录,分支或任何与您相关的内容,因此您可以随时运行该命令。这将更新您仓库中的远程跟踪分支,通常称为<remote>/<branch>,例如origin/master

现在,您可以使用例如git log --color --all --decorate --oneline --graph或某些GUI工具(例如gitk --all)来检查Git日志。它将显示您的分支(在当前情况下)如何与远程分支分开。然后,您可以决定要合并分支和远程分支(例如,使用git pull)还是将分支重新放置在远程分支的顶部(例如,git pull --rebase)。