Github远程协作

1.github简介

  • 网址:https://github.com/
  • 关键功能
    • Gist:代码片段的托管。
    • News Feed:所跟随用户的最新动态。
    • Issues:事务管理。
    • Pull Requests:github主要流程。
    • Unwatch:接受对某个项目的通知。
    • Star:设置对某个项目的持续关注。
    • Fork:将别人的项目克隆的自己的用户名下。
    • Repository:仓库。
  • SSH:为了使用Github的远程,一般会在本地配置ssh,以避免每次对github的修改而重复的输入github用户名和密码。
    • sh-keygen -t rsa -C "[email protected]"(-t:指明所要创建的密钥类型,-C:添加注释)
    • ssh key:88888
    • ssh-agent -s:创建密钥管理器
    • ssh-add ~/.ssh/id_rsa:添加密钥进密钥管理器(这一步可能会有报错“Could not open a connection to your authentication agent”报错原理尚不清楚,如果有哪位高人知道,小弟跪求指点。stackoverflow中有相关解决方案,但试过对于我来说都不受用。我自己的解决方案是使用Git GUI生成ssh key进行提交,后续操作亦可进行)
    • 复制id_rsa中的密钥至github中的ssh key,关联本地git和github账户:ssh -T [email protected]
2.远程协作的主要命令

  • git clone: 获取一个远程仓库。
  • git fetch:获取远程仓库中的所有分支和数据,但不更改本地仓库中的版本(HEAD,master)指针,如继续操作需要调整HEAD指针(git merge/git reset/git rebase)。
  • git push:将本地数据推送到远程数据库
  • git pull:相当于git fetch 和 git merge的和操作
  • git tag -a v0 -m "tag for v0":创建了一个tag,但是git push无法将tag推送到远端服务器。
    • git push --tags:向远端服务器推送tags
  • git branch -d [分支名]:删除分支
    • git push --deleted origin [分支名]:删除远程仓库中的分支
    • git push origin :[分支名]:使用一个空的分支替代远程仓库中的某分支=删除该分支。
吐槽一下吧,在windows系统下用运行git bash真的有好多bug,先说两个如果有同道中人遇到会解决的烦请告知于我,不胜感激。
  • 命令行运行过多后,会出现结果无法显示的情况,需要执行clear清屏后才会恢复正常。
  • 当一条单行信息过长而无法显示完全,将会出现输入异常bug。
3.github的pull request流程

  • pull request流程(github远程协作的关键流程)
    • fork操作:用户a觉得用户b的仓库A不错,同fork可以将仓库A的当前版本复制到用户a的名下。
    • git clone:用户a将fork至自己名下的仓库a下载至本地。
    • git push:用户a对仓库A进行若干修改和完善的操作后,提交至自己的远程仓库。
    • pull request操作:首先进行自主的差异比较,然后create pull request将自己的修改发送给用户b。
    • merge pull request:如果用户b觉得用户a提交的pull request没有问题,则可进行提交。
    • 用户b如果有异议也可留言告知用户a。
  • 获取所fork的远程仓库的最新版本
    • git remote add [所fork的远程仓库别名] [所fork的远程仓库地址]
  • origin 自己账户的远程仓库(有push权限)
  • 所fork的远程仓库 (无push权限)

GitHub 教程系列文章: 

GitHub 的详细介绍:请点这里
GitHub 的下载地址:请点这里

ssh

相关推荐