Github那些有用以及奇奇怪怪的功能

前言

承接上一篇文章基于《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在三天的学习后呢也是告一段落,跟着例子还是挺好玩的,像一个魔法师一样的对于自己创造的代码进行时光回溯和改变历史。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值