要求
实现git push
直接完成代码部署到服务器的目录
本地创建git仓库
git init
提交一个版本
git commit -m "v1"
远程部署
远程服务器上安装git,并初始化一个仓库
git init --bare controlServ.git
本地向远程仓库push一个版本
git remote add origin [email protected]:/cangKu/controlServ.git
测试更新操作:
563 touch index.php
564 git add index.php
565 git commit -m "test"
566 git push
567 git push --set-upstream origin master
要求输入密码,输入userName的密码即可。然后在服务器上就可以看到push过来的代码了。
注意点
- 如果我们没有配置
ssh免密码登陆
的话,我们需要在push
代码的时候输入密码 - 如果我们添加的远程仓库不是
[email protected]
,例如是[email protected]
,那么我们要确保abc
用户对wx.git
目录下的文件有777
权限。
新增仓库
- 需要登陆远程服务器进行初始化
repo_name.git
仓库 - 需要手动创建
public/repo_name
文件夹,并且修改权限为777 - 需要重新编写
hooks/post-recieve
文件,修改里面的DIR路径为public/repo_name
fetch和pull:
fetch 只能更新远程仓库的代码为最新的,本地仓库的代码还未被更新,我们需要通过 git merge origin/master 来合并这两个版本,你可以把它理解为合并分支一样的。就是先把代码拉下来,然后手动更新需要指定的文件。
pull 操作是将本地仓库和远程仓库(本地的)更新到远程的最新版本。
如果想要更加可控一点的话推荐使用fetch + merge。