我的笔记本电脑上有本地仓库,服务器上有远程仓库。
在笔记本电脑上:
$ git pull ssh://xxxx@xxxxxxx/home/gittest/ master
$ cat a.php
<?php
echo 'hello';
?>
所以我在笔记本电脑上更改了文件
$ vim a.php
$ cat a.php
<?php
echo 'hello';
echo 'hello2';
?>
并提交
$ git add a.php
$ git commit -m 'update'
$ git push ssh://xxxx@xxxxxxxx/home/gittest/ master
现在我检查服务器上的文件
$ cat a.php
<?php
echo 'hello';
?>
还有旧版本
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: a.php
#
如何在服务器上更新文件?
答案 0 :(得分:4)
您似乎正在撤离并推送到工作存储库。
这不会按照你想要的方式工作,因为推送更新存储库,而不是工作副本。
推送后,服务器工作副本中的版本似乎已修改,因为它与推送更新的存储库中的HEAD版本不同。
您需要一个裸存储库才能共享。您可以在其他地方了解here。
答案 1 :(得分:4)
在Git那里
运行git push
时,只更新远程服务器上的存储库。如果remote不是裸存储库,它还有一个工作树。但必须通过单独的行动来改变它。
运行git remote show <remote name>
以查看分支状态
您是否正在使用git部署到服务器?如果是这样,您需要:
git checkout master
以使工作树按照repo 如果你不使用git进行部署,为什么需要遥控器上的任何文件?在这种情况下,最好使用裸存储库。