这可能是关于惯例、最佳实践和/或个人偏好的问题:
所以我是一个git noob,我的网站代码不值得分享,所以我没有使用github之类的。
知道 git 不需要中央存储库,我想:太好了,我的工作站和服务器是两个节点,我只需将更改从我的工作站推送到服务器。
当我开始时,代码只在服务器上,所以我:
- 在服务器上:
git init
- 在工作站上:
git clone me@myserver:path/to/repo
- 愉快地进行更改并在本地提交
- 在工作站上:
git push me@myserver:path/to/repo
我得到了奇怪的结果。我在本地添加的文件出现在服务器上,但未反映对现有文件的更改。
然后,我阅读了一条警告,禁止推送到已签出的远程分支。所以新的设置是:
- 跑来
git clone --bare
做一个裸仓库 - 将裸存储库放在我的服务器上(
~/repos/mysite.git
- 不是公用文件夹) - 代码本地和:
git push me@myserver:repos/mysite.git
- 在服务器上:
git pull ~/repos/mysite.git
获取最新的
这是正确的吗?合乎逻辑吗?这是你会做的吗?