首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >git推强制是否适合同时强制更新远程文件?

git推强制是否适合同时强制更新远程文件?
EN

Stack Overflow用户
提问于 2014-02-14 12:50:39
回答 1查看 101关注 0票数 0

我正在为Jenkins的工作开发一个自动化脚本。该脚本接受一个参数$1,对存储库文件进行一个小的更改并推送更改。它只是做了:

代码语言:javascript
复制
git clone repo
echo > $1
git commit -a -m 'updated'
git push

当这些Jenkins作业立即执行时,git push经常失败:

代码语言:javascript
复制
! [rejected]        master -> master (non-fast-forward)

这完全可以理解。但是,我希望强制执行推送,因为已经保证每个脚本调用都得到不同的$1

从手册一页,我了解到:

代码语言:javascript
复制
--force           
       ... This flag disables these checks,
      and can cause the remote repository to lose commits;
      use it with care.

这个旗子适合我的场景吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-14 12:55:41

您应该而不是使用--force,如果您无法承受丢失其他提交和随后的其他文件!

相反,使用拉拉来拉出其他过程的变化,然后再推:

代码语言:javascript
复制
git pull origin master && git push origin master

如果您想让存储库清除合并提交,请考虑使用pull --rebase

代码语言:javascript
复制
git pull --rebase origin master && git push origin master

请注意,在pullpush之间有一个很小的窗口,其中再次提交可能会滑入,如果它没有通过,可以考虑在必要时重复该命令。但请记住,这可能会导致绞刑。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21779921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档