我知道如何创建一个跟踪远程分支的新分支,但是如何使现有分支跟踪远程分支?
我知道我可以编辑.git/config文件,但似乎应该有一个更简单的方法.
运行我们的 Jenkins 服务器的 Windows 7 机器在使用 git 时遇到了一些问题。
我们的代码托管在 GitHub 上,并且每晚运行一次构建。工作要做的第一件事是从 GitHub 签出分支 X,然后运行构建脚本。不幸的是,我们注意到构建似乎“卡住了”。每天都会出现相同的版本。当我检查服务器的 git 历史记录时,它已经落后一周了!跑步
git 获取来源
没有给出任何错误,但据说 origin/MyBranch 是从上周开始提交的,从那时起我们已经对该分支进行了数十次提交。从任何其他计算机或什至从服务器上的另一个文件夹进行提取工作正常并获取最新更改。
我尝试使用不同的 ssh 密钥/登录名从服务器获取,并且在该特定的 repo fetchin 副本中已损坏。奇怪的是,如果我们从拉取请求或其他分支触发构建,它们会完美运行。这只是一个特定的分支。
到目前为止,我们想到的唯一解决方案是删除 git 工作区并从头开始。
git 版本是 1.8.5.2.msysgit.0,它通常由 Jenkins 运行......我想知道 Jenkins 是否正在对存储库做些什么来破坏或锁定它。
编辑:
git remote -vv 的输出
origin git@github.com:Org/Project.git (fetch)
origin git@github.com:Org/Project.git (push)
Run Code Online (Sandbox Code Playgroud)
编辑2:
受此处链接的帖子的启发,我尝试过
git merge FETCH_HEAD
Run Code Online (Sandbox Code Playgroud)
这有效!但是,如果我尝试
git merge origin/branch
Run Code Online (Sandbox Code Playgroud)
这仍然停留在旧的提交上。
詹金斯输出看起来像这样
$ git.exe rev-parse --is-inside-work-tree
从远程 Git 存储库获取更改
$ git.exe 配置 remote.origin.url git@github.com:Org/Project.git
从 git@github.com:Org/Project.git 获取上游更改
$ git.exe --version …