我想我说的都是正确的.
我有一个带有Git的登台服务器,我的伙伴和我从我们当地克隆的那个仓库推动对Git仓库的更改,当我们准备公开的时候,我们标记它就是这样,但是然后我必须做一个git reset --hard
更新服务器上的实际文件到HEAD,这对我来说似乎有点奇怪.
我认为这个问题可能是对git如何运作的根本误解.通常我将我的代码分支到我的本地仓库,处理它,然后将它合并到主仓库,然后git push
,这是正确的吗?
对不起,对于git来说,我是一个新手,任何使用远程git repos的资源都将不胜感激,谢谢!
听起来你正在推动服务器上的非裸仓库.当您推送到仓库时,会更改仓库的内部状态,但不会更新签出的文件,这就是您必须执行git reset --hard
(或a git checkout
)签出文件的更新副本的原因.由于这个原因,建议只推送到一个裸仓库.您可以使用git --bare init
或创建一个裸仓库git clone --bare
.