和gitlab仓库类似,也可以使用github作为远程仓库
整体操作的大概思路是这样的:

Github网站相当于一个中转库,当然也是同一个project的最终版本的库!
github和其他地方的连接主要是依靠SSH key,然后就是不同库与github之间的push,pull等常规操作啦~
1、配置SSH
首先在Github网站上设置ssh,因为远程仓库都是根据ssh key进行同步的。
如果你希望从本地电脑到github网站之间进行代码管理,则需要本地电脑的SSH;
如果你还希望从服务器到github网站代码管理,则还需要配置服务器的SSH
增加SSH非常简单
【本地电脑】
需要安装git bash


下载安装即可,然后打开,界面操作和xshell类似

我们的SSH密钥就是这个文件,如果没有的话在home目录运行ssh-keygen.exe即可
复制这一堆,之后会用到

【服务器端】
和电脑上的类似
ssh-keygen # 如果没有id_rsa.pub文件时运行
cat ~/.ssh/id_rsa.pub
【github网站】
登录自己的账户,然后点击右上角的图标,选择Settings

然后找到SSH and GPG keys,点击绿色的
New SSH key
按钮新建SSH,拷贝我们上面复制好的key进去即可
2、程序库初始化
首先需要在github上新建仓库

这里我的代码是在自己的电脑上面,整理好需要同步的程序文件夹,然后打开git bash, cd到这个目录

接着初始化(在git bash中运行)
# 切换到代码目录,然后配置git,配置到远程
git init
git add .
git commit -m "first commit"
git remote add origin git@github.com:myshu2017-03-14/FilterData.git # 把本地库与远程库关联
git push -u origin master # 第一次推送时
git push origin master # 第一次推送后,直接使用该命令即可推送修改
注意上面这里的git@...,可以直接从github网站上获取

最后就是在服务器端同步代码了,非常简单,直接从github中拉取即可
git clone https://github.com/myshu2017-03-14/test.git # 先拷贝到本地
cd test/
git pull
我在运行git pull的时候报错:

网上查了后,可以直接在安装的git目录下增加一个.gitconfig
,其中写入如下内容即可

[http "http://proxy.corpadderess:8080"]
sslVerify = false
proxy =
最后再次git pull就没问题了!
3、程序库之间拉取
至此,我们在本地电脑<=>github网站<=>服务器端同步了代码库。我一般是在电脑上用编辑器编辑,然后再push到github网站,最后服务器从github上拉取更新。
具体操作如下:
【本地电脑编辑器Pycharm】
我用的是pycharm,如果是其他的编辑器可以看下是否找到类似的入口,也可以直接使用git bash

git status # 查看状态
git commit -am "smy" # 这里的-a表示上传所有的修改的文件,-m表示上传信息,大家可以根据自己的需求来编辑修改
git push # 推到github上去
【服务器端】
直接cd到目录下面,git pull
即可。这里有一个小技巧,大家可以使用shell的alias设置快捷键来运行拉取的操作,这样就不用每次cd过去了。
设置方法:
vim ~/.bashrc
# 写入alias gpull='dir=`pwd`&&cd <你的代码路径> && git pull&& cd $dir'
source ~/.bashrc
gpull # 之后更新后要拉取直接运行这个代码即可
4、程序库管理
我一般是在开发分支上面做开发,master用于拉取同步

分支管理
# 服务器上
# 1、有一个文件夹固定为流程目录master分支:
- 更新步骤
git checkout dev # 先切换到dev分支
git pull # 更新好dev分支
git checkout master # 切换回master分支
git merge dev # 合并分支
git push # 推送
# 2、有一个为测试文件夹dev分支,用于服务器上代码测试:
# - 直接和自己电脑和gitLab上同步
# 自己电脑pychram
# 切换在dev分支上
git status 查看
git commit -am "update" #提交
git push # 推送
5、不同gitlab仓库之间同步
有时候面临着代码需要同步到另一台机子的gitlab上面,就涉及到了不同gitlab仓库之间的同步。有一个非常好用的方法,就是Repository mirroring
。可以把一个gitlab上面的代码做一个镜像完全同步到另一个gitlab。具体操作如下:
首先定义一下:
Old: 旧gitbal仓库
New: 新gitlab仓库
首先在New
上新建一个空的project, 记录新建的项目链接:https://<用户名>@<项目链接>
, 在https后面加上用户名
和@

然后在Old
上面选择setting=> Repository => mirroring repositories

然后拷贝上面记录的New
的URL,然后填上密码,点击创建mirror

之后每次在这里点下更新的按钮同步即可!

网友评论