我有一个简单的git-svn存储库并对其进行了'git svn fetch'.
运行'git log'不会显示更新.我确定有更新,因为它显示'git svn fetch'之后更改的文件,'git svn log'也显示了它们.
请注意,我故意将它作为一个简单的回购,因此'git rebase'将无效.获取所获取更改的适当命令是什么?
Jen*_*man 17
A git svn fetch添加一个名为remotes/git-svn的新远程分支(可以看到git branch -a).
如果对上游svn进行更改,然后git fetch再次运行,则会在此分支上(而不是在master上)拉入(实际上,已获取)更改.
因此,要使git log(以及其他所有内容)在master分支上运行正常,你只需要一个合并,就像你通常在获取之后必须做的那样(这就是git pull所做的,一个fetch然后一个合并).
由于git svn pull不起作用,您必须手动合并它.在主分支上运行:
git merge remotes/git-svn
这将合并您的主分支与git-svn分支,使一切恢复正常.
所以在将来,运行
git svn fetch
git merge remotes/git-svn
Run Code Online (Sandbox Code Playgroud)
并且您将再次与上游存储库保持同步.
按照vjangus的建议将master的head的ref设置为git-svn head也可以使这个工作,但你不应该在远程分支中进行更改.
尝试git log git-svn- 我没有一个简单的回购,但我只是运行git svn fetch,标准git log给了我当前(重新定位)的日志,但使用git-svn arg(除了master之外的另一个分支,git branch -a在我的case)我得到登录到获取的修订版
我找到了答案,
git symbolic-ref refs/heads/master refs/remotes/git-svn
感谢Steven Walter在http://gsocblog.jsharpe.net/archives/12上的评论
| 归档时间: |
|
| 查看次数: |
3026 次 |
| 最近记录: |