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权限)
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-16 13:18:02