《Bioinformatics-Data-Skills》之github协作(1)
Github可以用于代码的存储与协作工作,协同工作的大概流程如下
- 创建一个共享的库,你和你的同事有权限访问它
- 你将工程push到github (fig.1a)
- 你的partner clone github库的工程到本地(fig.1b)
- 你的partner修改本地的工程并commit,通过push提交到github库(fig.2a)
- 你将github库上的修改pull到本地(fig.2b)
- 这个过程反复进行,共同修改库的文件
你和partner可以同时修改同一个库的不同文件或者同一文件的不同部分,github可以聪明地合并这些修改。但是当你和partner同时修改同一文件的同一部分的时候会产生冲突,这些冲突需要手动处理,所以协同工作需要一个好的规划与沟通。
今天学习如何创建远程的github库和如何将代码上传到github。
创建远程库
首先创建github账号,然后创建库,填写库名称即可(fig. 3,不对外公开的话选择Private库)。
Figure 3 创建github库认证身份
Github可以通过ssh来管理远程的库,通过私人与公共秘钥管理(密钥创建方式查看极速登陆)。
在本地查看公共秘钥:
cat ~/.ssh/id_rsa.pub
在github里面点击setting
=> SSH and GPG keys
=> New SSH Key
粘贴公共秘钥即可。
确认是否认证成功:
ssh -T git@github.com
# Hi HushWay! You've successfully authenticated, but GitHub does not provide shell access.
连接库
进入本地库目录,通过git remote add
命令配置github库连接本地库
git remote add origin git@github.com:HushWay/zmays-snps.git
origin
是github库的常用的别名,你可以同时管理多个github库,通过git remote -v
查看本地已知的库
git remote -v
# origin git@github.com:HushWay/zmays-snps.git (fetch)
# origin git@github.com:HushWay/zmays-snps.git (push)
想要删除库的话使用git remote rm <库名字>
命令
将本地内容上传至github库
通过git push <remote-name> <branch>
命令来上传(remote-name
使用刚才设置的别名origin
,branch
现在使用master
。)
git push origin master
# Counting objects: 3, done.
# Delta compression using up to 6 threads.
# Compressing objects: 100% (3/3), done.
# Writing objects: 100% (3/3), 401 bytes | 401.00 KiB/s, done.
# Total 3 (delta 1), reused 0 (delta 0)
# remote: Resolving deltas: 100% (1/1), completed with 1 local object.
# To github.com:HushWay/zmays-snps.git
# b8b9f84..3eedc08 master -> master
网友评论