前言
承接上一篇文章基于《Github入门与实践》的总结-优快云博客,掌握了最基本的Github知识,本文在此基础上用思维导图的形式整理了怎么样通过Git bash完成最基本的步骤:clone、fork、pull、push、pull request、fetch。(在csdn里只能按这种多级列表形式展示)
我个人认为目前这些已经足够养成一个良好的版本管理的习惯。还有一些与Github联动的协作工具以及GUI、Gist知道有什么用就可以了。
Github版本管理及Pull request流程
-
Git bash
-
版本管理
-
我们可以把代码所有的历史版本的保存下来
-
git checkout 分支名(切换到对应分支)
-
直接修改
-
git checkout -b 分支名
-
创建分支(在保留原版本的同时开设一个副本)
-
git merge --no-ff 要融合的分支名
-
分支融合到主线上(连续两次融合会出现不必要的问题)
-
-
-
git branch -a
-
查看现在又有哪些分支
-
-
git branch -D <分支名>
-
删除分支
-
-
-
时空回溯
-
改变历史
-
查看版本信息
-
git log
-
所有历史版本的哈希值,时间,修改人以及名字
-
-
git log --graph
-
按照流程图的形式展示分支的变动情况
-
-
git reflog
-
展示所有的版本修改,转换分支以及分支融合的哈希值
-
-
-
-
常用命令
-
加入新的修改
-
git add 文件名
-
提出修改
-
-
git status
-
放入缓存区
-
-
git commit “本次修改了什么”
-
保存到本地
-
-
-
查看文件信息
-
ls
-
查看文件列表
-
-
-
查看代码
-
git nano 文件名
-
按照下面的提示先
-
-
按‘esc’进入编辑器,输入‘ :wq ’保存并退出
-
-
-
Github联动
-
fork别人的服务器仓库到自己的服务器仓库 或者自己创建一个线上服务器仓库
-
每次Git clone获取的是整个仓库的内容,包含所有的分支
-
git clone (服务器到本地)
-
只能push当前分支,如果需要push全部分支需要别的命令行
-
git push origin <你的分支名>(修改过后本地到服务器)
-
为了避免多个开发者修改同一部分源代码时发生冲突,需要频繁进行push和pull操作,当有冲突的时候,需要pull最新版本再push
-
git pull origin 远程仓库分支名(再把所有开发者更新后的仓库结合自己修改的保存到本地)
-
pull request将fork仓库中的更改合并到原始仓库里,也是看有没有冲突,如果有需要解决冲突
-
compare&pull request
-
和pull不同的是,仅仅测试新分支而不合并,可以利用fetch保证仓库中的数据一直保持最新状态
-
git remote add upstream <原始仓库的URL>
-
添加上游远程仓库
-
-
git fetch upstream
-
获取上游仓库的最新更改
-
-
git checkout feature-branch git merge upstream/main
-
合并上游更新到你的本地分支 将远程仓库的“main”分支 合并到 feature-branch
-
-
git add <冲突文件> git commit -m "解决合并冲突"
-
解决冲突并提交
-
-
git push origin feature-branch
-
推送更新到你的 fork 仓库
-
-
-
-
-
-
-
-
github功能
-
快捷键汇总
-
‘shift’ + '/'
-
-
compare功能
-
在当前URL后面加上‘/compare'
-
-
Issue功能
-
对BUG的追踪管理
-
可以通过添加Milestones对issue进行管理,ex:距离下一个版本(3.0.0)还有6个Issue需要实施,整体的96%已经实施完毕
-
-
-
其他功能
1.协作工具
hub命令:封装了Git命令的命令行工具,把一些负责的代码简化了
Travis CI(Continues Integration,持续集成):帮忙为代码报错,减少重复性工作
Gemnasuim :了解自己是否在最新版本下开发
Code climate:分析代码的品质
2.GUI和Gist
GUI:适合不熟悉CLI的用户,把上述clone,pull等功能用图形界面操作
Gist:一个大家可以共用的Note:代替记事本记录简短代码段,给别人发示例代码
总结
对于Github在三天的学习后呢也是告一段落,跟着例子还是挺好玩的,像一个魔法师一样的对于自己创造的代码进行时光回溯和改变历史。