我想要的是:
使用我的本地存储库在所有分支中更新服务器的所有新闻提交,但不合并任何分支(只需加入历史记录行).
我正在尝试这个命令
git fetch --force --progress --verbose name@host:/path/to/repository.git
Run Code Online (Sandbox Code Playgroud)
我认为它会正常工作,因为它显示:
From host:/path/to/repository
* branch HEAD -> FETCH_HEAD
Run Code Online (Sandbox Code Playgroud)
但是,这意味着什么呢?如果我看到日志,则不会更新.如果我从服务器进行克隆,则所有新提交都在那里.所以...命令不起作用.然后我尝试使用服务器中存在但不在我的本地存储库中的分支
git fetch --force --progress --verbose name@host:/path/to/repository.git my_branch
Run Code Online (Sandbox Code Playgroud)
结果是:
From host:/path/to/repository
* branch my_branch -> FETCH_HEAD
Run Code Online (Sandbox Code Playgroud)
并且任何成功......即使我不知道所有分支和我的分支都是更新,我想获取此更改并可以在我的日志中看到.
有什么想法吗?
Geo*_*sov 31
获取时获取远程分支,但仍需要将远程分支中的更改合并到本地分支以查看这些更改.
获取后,试试这个:
git log origin/yourbranchname | head
git log yourbranchname | head
Run Code Online (Sandbox Code Playgroud)
你看得到差别吗?
现在做:
git checkout origin/yourbranchname -b newbranchname
git log newbranchname
Run Code Online (Sandbox Code Playgroud)
您应该在newbranchname中看到远程更改.
您还可以将这些更改合并到您的分支中
git checkout yourbranchname
git merge origin/yourbranchname
Run Code Online (Sandbox Code Playgroud)
小智 20
我之前遇到过这个问题,主要原因是你没有在git local config中配置remote.origin.fetch.
使用以下命令来解决您的问题:
git config --local --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/*
Run Code Online (Sandbox Code Playgroud)
之后,运行'git fetch origin',我想你会得到预期的输出.
Joh*_*don 10
git fetch只是将更改带到远程分支的本地副本.如果你想更新你的回购或本地分支,你必须遵循fetcha merge,或者只是git pull用于一次性.
伟大的答案:https://stackoverflow.com/a/292359/102371