相关疑难解决方法(0)

git push --force-with-lease vs. --force

我试图了解它们之间的区别

git push -f
Run Code Online (Sandbox Code Playgroud)

git push --force-with-lease
Run Code Online (Sandbox Code Playgroud)

我的猜测是,如果遥控器没有本地分支没有的提交,后者只会推送到遥控

如果有更好的方式来表达问题,lmk,但希望它很清楚.

git git-push

87
推荐指数
4
解决办法
2万
查看次数

Git:如何忽略快进并将原点[branch]恢复到之前的提交?

我用了

git reset --hard dc082bc... 
由于一些错误的提交,恢复到分支回到所需的先前状态.这让我当地的分公司很好.但是,我想将'origin'上的分支回滚到同一个commit,以便我可以重新开始.谁能告诉我如何将原始分支(非主人)恢复到此提交?

我已经尝试过git push origin master,但它给出了以下错误

 ! [rejected]        branch -> branch (non-fast-forward)
error: failed to push some refs to 'git@github.com:xxx/xxx.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again.  See the 'Note about
fast-forwards' section of 'git push --help' for details.

git commit reverting

8
推荐指数
2
解决办法
1万
查看次数

Git - 何时使用强制推动

GIT - FORCE PUSH

谁能告诉我何时使用git push以及何时git push -f举例?

git

7
推荐指数
1
解决办法
5542
查看次数

定期 git fetch 的副作用

假设我有这样的代码:

git fetch &&  git diff origin origin/master --quiet || echo "untracked"
Run Code Online (Sandbox Code Playgroud)

我希望它定期运行。比方说,每秒一次,或每五秒一次,依此类推。

如果此代码输出“untracked”,或者换句话说,如果远程有更新,我将运行 agit pull来更新本地代码。

问题是:做这样的事情不好吗?我的意思是,我知道这将是远程服务器上的持续请求。但是,这样不好吗?除此之外,还有其他副作用吗?非常感谢。

git networking server

7
推荐指数
1
解决办法
9218
查看次数

git push --force-with-lease 总是安全的吗?

我一直遵循的规则是,一旦将 git 历史推送到远程存储库,就不要修改它。

但我想知道是否交互式变基到 push --force-with-lease 绕过了这个规则?

如果强制租赁成功,其他用户是否完全安全,或者此策略是否有任何警告?

预先感谢您提供任何意见。

git

6
推荐指数
3
解决办法
1196
查看次数

我什么时候应该使用“git push --force-if-includes”

当我想强制推送时,我几乎总是使用--force-with-lease. 今天我升级到 Git 2.30 并发现了一个新选项:--force-if-includes.

阅读更新的文档后,我仍然不完全清楚在哪种情况下我会使用--force-if-includes而不是--force-with-lease像我通常那样使用。

git git-push

4
推荐指数
3
解决办法
431
查看次数

“git push --force-with-lease”的短标志?

我已经开始使用git push --force-with-lease而不是--force在大多数情况下用于额外的分支保护:

我什至可以尝试将此选项设置为默认选项,如下所述:

但使用时的主要烦恼--force-with-lease是输入该标志的尴尬措辞和冗长语法。

Git--force-f标志更短并且更容易键入,但不提供额外的安全性。


是否有缩写形式--force-with-lease,例如--fwl

  • 如果没有,是否有原因没有添加?更方便的标志似乎会增加更安全功能的采用。git 的创建者是否讨论过这个问题?

如果默认情况下不存在这样的标志,我如何在自己的计算机上创建这样的标志或别名?

git command-line-interface git-push

1
推荐指数
1
解决办法
1379
查看次数