我已经设置了一个远程非裸"主"仓库并将其克隆到我的电脑上.我做了一些本地更改,更新了我的本地存储库,并将更改推送回我的远程仓库.到目前为止,情况还不错.
现在,我不得不改变远程仓库中的东西.然后我在当地的回购中改变了一些东西.我意识到不需要改变远程仓库.所以我尝试git push从我的本地仓库到我的远程仓库,但我收到的错误如下:
为防止您丢失历史记录,拒绝非快进更新在再次推送之前合并远程更改.有关
git push --help详细信息,请参阅"关于快进的注意事项"部分.
我以为那可能是一个
git push --force
Run Code Online (Sandbox Code Playgroud)
将强制我的本地副本将更改推送到远程副本并使其相同.它确实强制更新,但当我回到远程仓库并进行提交时,我注意到文件包含过时的更改(主远程仓库以前有过).
[我]尝试强制,但当回到主服务器保存更改时,我得到过时的暂存.因此,当我提交存储库时不一样.当我再次尝试使用git push时,我得到了同样的错误.
我该如何解决这个问题?
是否可以使用git push?部署网站?我有一个预感,它与使用git hooksgit reset --hard在服务器端执行有关,但我将如何实现这一目标呢?
描述有点简洁.我只是在我的本地主分支上添加了一个文件并将其推回到远程仓库.知道为什么会这样吗?
warning: updating the current branch warning: Updating the currently checked out branch may cause confusion, warning: as the index and work tree do not reflect changes that are in HEAD. warning: As a result, you may see the changes you just pushed into it warning: reverted when you run 'git diff' over there, and you may want warning: to run 'git reset --hard' before starting to work to recover. warning: warning: You can set 'receive.denyCurrentBranch' configuration variable to warning: …
我有一个feature分支和一个testing分支(用于初始回归).我想testing为测试环境提供一个可用于我的分支的工作副本.但是,我需要通过脚本压缩一些源代码(不是二进制,只是优化).我可以通过post-receive Git钩子来制作这个脚本.
我正在尝试设计我的bash脚本(用于CI),因此它非常强大,并希望避免自动化导致Git冲突.我正在考虑拥有一个主存储库(origin)和一个测试环境存储库(ci_test),只是为了允许CI提交.
我正在考虑ci_test/testing推广来源.origin/testing如果需要,CI应该压缩,添加,提交,获取,合并(将其完全iff冲突),然后推送到origin/testing.
我上面的模型的问题是,当我尝试推送时,Git会抱怨,ci_test/testing因为它有一个工作副本(有意义,因为它们可能无法同步).有没有一种适当的(自动化)方法来使用Git的持续集成脚本,以便它们仍然被跟踪?