【问题标题】:Why does Git need to be fast forward for VSTFS build?为什么 Git 需要快进才能构建 VSTFS?
【发布时间】:2017-04-05 09:07:31
【问题描述】:

我正在备份我们的开发 VSTFS Git 存储库中的一些数据。当我运行构建时,构建目录当然会被擦除,与 Git 存储库同步,从外部源下载数据,然后推送回 Git。

但是,每次发生这种情况时,即使我在 push 之前执行了 Git pull,它也会说我落后了,需要快进。所以我做了一个 Git pull -ff。

不过,我想详细了解为什么会发生这种情况。是不是因为目录每次都会被擦除?

这是构建: https://drive.google.com/file/d/0B8bQlVTjVjdoSWR6ZkhGOVNTd0U/view?usp=sharing

您可以忽略仅检索数据的 Powershell。

这是批处理文件

ECHO ADD GIT TO PATH
PATH %PATH%;C:\Program Files\Git\cmd
ECHO TEST PATH
set PATH
ECHO GIT STATUS
git status
ECHO GIT CHECKOUT MASTER
git checkout master
ECHO GIT PULL FASTFORWARD
git pull origin master -ff
ECHO GIT ADD ALL
git add -A
ECHO GIT COMMIT ALL
git commit -m "Backing up Octopus P01 and P02"
ECHO GIT PUSH
git push origin master

没有-ff

 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'http://xxxxxx:8080/tfsdev/xxxxx/_git/Development.Services'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

我发现解决此问题的另一种方法是在构建的存储库设置中选择 Clean = true。这包括清理和重置

Syncing repository: Development.Services (Git)
Running 'git clean -fdx' on D:\BuildAgents\_work\7\s.
Running 'git reset --hard HEAD' on D:\BuildAgents\_work\7\s.
HEAD is now at ****** Updated GitTest.bat
Starting fetch...
Checking out ****** to D:\BuildAgents\_work\7\s
Checked out branch refs/heads/master for repository Development.Services at commit ******

【问题讨论】:

  • 你是在构建之前还是之后拉?事件的确切顺序是什么?您基本上遵循本指南吗? visualstudio.com/en-us/docs/git/gitquickstart
  • 为了更清楚,这是在 Web 门户中,而不是在 Visual Studio 中。
  • 拉取发生在构建中。
  • 你是说如果你删除--ff,你会被告知需要快进? --ff 是默认行为,因此除非您的配置中另有说明,否则没有必要这样做。执行git config -l 并查找与pull 相关的任何内容。
  • 分享你在oneDrive上的详细构建日志。

标签: git azure-devops fast-forward


【解决方案1】:

根据日志,存在导致问题的未暂存提交的更改。您可以在构建之前清理存储库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-02
    • 1970-01-01
    • 2019-12-30
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    • 2016-10-03
    • 1970-01-01
    相关资源
    最近更新 更多