关于git常用操作的教程,欢迎看我之前写过的一篇文章:http://t.csdnimg.cn/5QKzJ
好,接下来,正文开始!
一. Git 团队协作机制(内附武林秘籍)
这里我们感谢岳不群、令狐冲以及东方不败的友情客串~
1.1 团队内协作
岳不群:华山派掌门人,作为掌门他要开创一门华山剑法。 令狐冲:岳不群的大弟子。 东方不败:就当她是令狐冲的“good friend”(手动滑稽)。 代码托管中心:可以看作一个收录各种武林秘籍的庞大组织(哪本爽文小说没个组织庞大的情报商业机构~)。 首先,岳不群先创建本地库,在本地库中创建了一个架构,我们称为“华山剑法”。华山剑法创建好了之后,岳不群首先想要给大弟子(令狐冲)学习并让大弟子帮助他完善。 于是岳不群(本地库)就利用push(推送)把华山剑法推送到藏经阁(远程库:github\gitee)中。令狐冲(另一个本地库)去藏经阁找(clone克隆)武林秘籍来学习。 欸,我们发现啊令狐冲不愧是武术天才,简单的学习之后他就发现这剑谱很厉害,但总觉得不够完美。于是令狐冲就日夜钻研琢磨,最后完成了“华山剑法”Plus,再次放回(Push)[注意这里的push需要权限,就是你能往藏经阁放东西的权限,我们称这个权限为拜师(岳不群把令狐冲加到自己的团队里面)]藏经阁。这时候岳不群就可以去借阅(pull拉取)“华山剑法”Plus并学习(更新自己的本地库)。
5.2 跨团队协作
至此,师徒二人继续完善“华山剑法”并进入顿悟模式。但此刻很明显两人已经尽可能的完善却达不到预期。于是 二人决定去寻求他人帮助,令狐冲找到了“好朋友”东方不败(团队外的人)帮助师徒二人修改秘籍(为什么要跨团队协作呢?这里嗷我们看:东方不败作为日月神教的CEO,不会加入到小小的华山派,于是只能跨团队协作),把华山剑法改为辟邪剑谱。 岳不群首先把华山剑法fork到东方不败的藏经阁(远程库)里,然后东方不败把秘籍从藏经阁中取出(clone)拿到自己手上(本地库)。修改完成后得到(辟邪剑法/华山剑法Plus plus版),先放回(Push)自己宗门的藏经阁中,但是这里不能直接fork回去,需要发送一个Pull request(拉取请求)给岳不群,告诉他剑谱修改已经完成。但是不是你说增强就增强了,我得先看看你的修改成果是不是比我更厉害(审核),看完之后发现确实变得更牛逼了,于是岳不群把东方不败修改加强的地方与原版对比合并(merge),放回藏经阁中,然后岳不群再从藏经阁中取出(Pull)Plus plus版供自己和大弟子令狐冲修炼。
二. GitHub 操作
GitHub网址:GitHub: Let’s build from here · GitHub
ps:全球最大同性交友平台,技术宅男的天堂,新世界的大门,你还在等什么啊?(国内自行挂梯子上GitHub)
理论学习(有请两个我的虚拟朋友)……
账号姓名验证邮箱Serendipity-ame(岳不群)2798729298@qq.com令狐冲东方不败*
2.1 创建远程仓库
①点击右上角+号选择第一个New repository
②然后你就能看到这个界面(第一个空)我们看到Repository name是远程库的名字,我们尽量把名字设置跟本地库为同一名称。 然后关于远程库的开源(Public)与否(Private),自行选择即可。关于私有库免费是有限制的超过上限GitHub需要收费,或者去gitlab搭建(后面会讲)。 最下面的初始化选项无需在意,直接点击Create repository就行了。
③ 创建完成后你会看到远程库有HTTPS和SSH两种不同形式的链接。
2.2 远程仓库操作
命令名称****作用git remote -v查看当前所有远程地址的别名git remote add 别名 远程地址给地址起别名git push 别名 分支推送本地分支上的内容到远程仓库git clone 远程地址将远程仓库的内容克隆到本地git pull 远程仓库地址别名 远程分支名将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并
2.2.1 创建远程仓库别名
有了上面HTTPS的那个链接,我们就可以进行创建远程仓库别名的操作(链接那么长,打字累不累?记不记得住?取个别名轻松又省事是吧),将来push,pull时都可以直接用别名。
①基本语法
git remote -v 查看当前所有远程地址别名
git remote add 别名 远程地址
②实操案例
- 先使用git remote -v命令发现没有反应,说明我们当前没有任何别名;接下来使用下一个操作完成别名创建后再次查看就发现已经又内容了就是我们刚刚创建的别名。(个人建议别名跟本地、远程库名称相同。为什么?当然是好记啊)
- 关于为什么又两行消息,就说明这个远程库的fetch、push操作可以用这个别名。
这里我来讲一下在Git Bash中的复制与粘贴(这不是怕链接打错了,麻烦嘛)
①复制:按住 Shift 键并用鼠标左键选择要复制的文本,然后按 Ctrl + Shift + C 复制所选内容。
②粘贴:按 Shift + Insert 键粘贴。(亲们自行找找就看到了)
2.2.2 推送本地分支到远程仓库
①基本语法
git push 别名 分支
②案例实操
第一次推送会弹出一个Github Sign in
点击第一个蓝色框框 :让你的git绑定你滴github账号(成功)
成功之后你会看到这个(真累,一直报错push不了,如果你们也有这种情况可以跟我一样,先去GitHub里面找到安全把与git的凭据删除,然后重新打开git bash签订凭据,多试几次总能成功的)
然后我们就可以开始我们的第一次push!!
然后去看一看你的远程库,会发现你写的内容已经在远程库里面了。
在GitHub里面也可以直接修改代码,打开你上传的代码,点击右边那个🖊就可以修改了。然后在界面找到commit changes提交即可。
③拉取远程库至本地库
- 语法:git pull 远程库别名 分支
- 当你在远程库更改之后代码与本地库不同了,需要把本地库同步一下就要用到pull命令,并且查看状态发现十分干净,那是因为pull会帮你自动提交本地库。
2.2.3 克隆远程仓库到本地
①基本语法
git clone 远程地址
②案例实操
准备工作:D盘创建git-lhc(令狐冲的文件夹)
然后在令狐冲的文件夹里面打开git bash here (由于代码是开源的,clone代码时不需要登陆账号,但这时候你无法使用别名,你只能老老实实用地址)
- clone之后你就能在令狐冲的本地库那里看到岳不群创造的华山剑法了
- 这是远程仓库地址:GitHub - Serendipity-a/demo_cpp,clone结果:初始化本地库
先从git里面加入demo_cpp(这是我之前取的,使用自己取的别名),然后再查看别名会发现:
总结:clone会做如下操作:1.拉取代码 2.初始化本地仓库 3.创建别名(别名非自己创建,自动创建为origin)
2.2.4 邀请加入团队
ps:从这里开始就是理论学习了,毕竟确确实实不好再找两个friends陪我一起实操。(每个步骤我肯定会认真思考并把细节难点解释清楚的,与前文本地库一样,兄弟们不用担心)
①成为师徒(前传)
- 令狐冲学习华山剑法发现了秘籍里面似乎缺了点什么,于是苦心钻研最后着手改进此秘籍(vim hello.txt)[之前实操我用的时demo.c,这里理论学习就用hello.txt,没有太大影响,请放心食用]
- 修改完之后还需要记录一下,防止以后继续修改or找回原版本(add、commit)。
- 令狐冲改完之后,还想让岳不群看到,毕竟是基于岳不群的秘籍修改。
- 这里我们需要push,然后我们发现与上次(跳转本文2.2.2)一模一样的弹窗。但是!这次不能直接点Sign in with your browser!因为这是岳不群的GitHub,我们需要进入浏览器退出并登录令狐冲的GitHub。
这里我们已经登上了令狐冲的GitHub了,点击蓝色框框就行啦。
我们看到git 与 GitHub 的绑定请求上显示的已经是令狐冲的账号,点击图中鼠标所处位置(绿色框框)
照理说已经绑定完成了账号,如下所示我们发现还是push失败了 (报错说是对岳不群的库,他令狐冲没有权限)
那么如何才能让令狐冲也push到岳不群的远程库呢?这就需要令狐冲拜岳不群为师(把令狐冲邀请进岳不群的团队共同开发)
②发出邀请
需要仓库持有人,也就是岳不群,去向令狐冲发出邀请,首先打开岳不群的仓库,点击Settings,看到左侧的一系列选项没有,找到第二个Manage access(管理成员)
然后再Manage access里面邀请(Invite a collaborator)令狐冲(点击绿色框框哦) ,然后输入所邀请的人的账号,确认后完成添加
![](https://img-blog.csdnimg.cn/4b7a58ffddf84e81acd17f81251779db.png)
到这里,看到打勾的没有,那个地方点一下会复制下来一个地址,类似于……
然后你需要把这个地址发送给令狐冲,令狐冲收到之后需打开自己的GitHub,在GitHub里面粘贴这个地址打开(绿色的是同意,后边白色的是婉拒)
同意之后就能在令狐冲的GitHub里面看到岳不群的仓库,就能在git bash里面完成代码推送了。推送之后远程库就会显示令狐冲的commit信息以及代码内容,团队里的所有人都可以看到。
2.2.5 拉取远程库内容
岳不群此时也可以pull拉取代码到本地库
2.3 跨团队协作
①将远程库地址复制发送给邀请跨团队协作的人(东方不败)
咱就是说,提一下GitHub左上角的Search是可以搜索项目滴。(账号+仓库名称搜索定位)
②东方不败在自己GitHub中打开岳不群仓库网址打开
仔细看图嗷,东方不败的账号岳不群的库,团队外的人想要协作首先要点右上角有一个fork,把这个仓库“叉”到自己本地库中,叉完之后就可以在自己账号下看见。
③东方不败这时候可以clone到自己本地库在git bash 里面vim进行修改,当然也可以在GitHub网页上在线修改。(这里以在线修改为例)
④此时东方不败commit后只能自己看见,岳不群看不见啊,这时候就需要pull request拉取请求 (点击图中鼠标所在位置绿色框框)
点击之后,进入新界面,底端会展示你修改代码的部分
最上面默认把commit备注内容拉取过来,下面可以自己写点话(类似于点外卖备注hhh),然后还是绿色框框!!!
然后岳不群的GitHub就会收到
具体代码内容可以在下图鼠标所示位置查看
岳不群有疑问也可以write一些东西回去(这就是为什么说GitHub是最大的交流社区,有聊天室)
⑤But!!! 你不能光聊天,根据流程图我们岳不群还需要最后一步merge(审核)没问题后点击绿色框框(Merge pull request)完成审核,然后confirm merge确认合并即可
课程压力太大,过两天补齐gitee与gitlab······
版权归原作者 Serendipity 所有, 如有侵权,请联系我们删除。