同步服务器代码
同步服务器代码
如果服务器能够联网,那就直接本地push到github上,远程服务器再pull下来就可以了。如果服务器不能够联网,可以在本地仓库添加一个服务器上的远程仓库,想要更新服务器代码的时候就额外push一下到新仓库上。
一个典型的情况是这样的,服务器不能够联网,本地需要通过登陆跳板机访问远程服务器,在本地修改了程序,想要同步到服务器上。
本地 -> 跳板机 (Lab) -> 服务器 (Target2)
先配置sshconfig文件
1 | Host Lab |
将本地项目先copy到远程服务器上
1 | scp -r project inTarget2:~ |
project是本地的项目文件夹,inTarget2:~
是想将项目拷贝到服务器上的目录。之后在本地仓库下添加新的远程仓库
1 | git remote add target2 inTarget2:~/project |
其中target2是这个远程仓库的名字,后面的是这个远程仓库的地址。
我们创建了一个新的远程仓库,名字叫做target2,地址是inTarget2:~/project
。git存在两种仓库类型,bare仓库和non-bare仓库, non-bare仓库大概相当于我们正在本地开发的仓库,正常情况下是不能够push到non-bare仓库的,比如两个人合作开发一个代码,A把修改后的代码直接push到了B正在工作的仓库,大家就混乱了。而push到Github上的仓库是bare类型的仓库,其中不包含工作区(大概)。我们可以登陆到服务器的项目目录,将这个项目切换成bare类型。
1 | git config --bool core.bare true |
此时再回到本地修改代码,就可以同步push到新服务器上了,比如把develop分支的代码push到服务器上。
1 | git push target2 develop |