局域网内建立git服务器,并实现不同主机的代码共享(无需通过github网站)

来源:互联网 发布:js获取select所有的值 编辑:程序博客网 时间:2024/06/04 23:25

最近需要用MATLAB在远程的服务器上的GPU跑深度学习的程序,但是可视化连接了远程服务器以后,操作非常的卡顿,所以我就在本机上调试好代码,在本机的cpu下跑通了,再搬到服务器上改一下配置用GPU去跑。整个过程,需要在本机修改代码然后考到服务器,然后可能服务器上改了某些东西又要考回本机,所以这样操作起来非常麻烦。

于是,想到了可以用git在服务器上自己建一个仓库,然后在本地拉下来这个仓库的内容就行了。这样,可以实现本地的代码和服务器的代码实时的实现同步。而且不需要通过github网站,也不用担心代码的安全性。

前提条件是,已经在服务器建立了一个远程仓库,然后打算在本地建立一个仓库,使得这两个仓库同步。

首先在本地建立一个空的仓库

git init

然后,在本机建立与远程服务器的连接(关键就在这)

 git remote add origin ssh://zycui@202.117.3.78/home/zycui/zycui_data/code/matconvnet-1.0-beta25/

这条命令表示添加与远程仓库的连接,ssh是通信协议,zycui是远程主机的用户名,然后是ip地址,然后是文件的路径。这个时候,本地的这个文件夹和远程的文件夹就实现了连接。

然后

git fetch origin master

表示将远程的master分支拽到本地来,然后

git merge origin/master

这句将本地分支与远程分支合并(我本地分支是空的,啥都没有,所以合并可以自动完成,不需要手动的去看了)

经过这一步以后,在本地分支就可以看到完整的代码了。

然后,当本地有更改了以后,需要使用git push 名字推到远程,然后在远程用git merge 进行合并。

当远程有了更改以后,在本地用git fetch 把远程的拽下来,然后git merge到本地的分支就可以了。

可以看到合并以后的效果

gitk --all

如图

可以看到,我本地有两个分支,分别是master和Windows,然后还有一个远程分支是romotes/origin/master,三个分支现在是完全同步的。



阅读全文
0 0
原创粉丝点击