美文网首页
写给小白的git入门

写给小白的git入门

作者: wivwiv | 来源:发表于2017-10-14 00:58 被阅读36次

    序言:

    一篇文章告诉你为何GitHub估值能达20亿美元
    慕课网: 版本管理工具介绍—Git篇

    什么是 GIT

    分布式版本控制系统:
    Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。点击查看更多

    版本控制

    思考以下情况,别问我为什么知道的:

    学年结束, 任课老师叫你把你的实验报告打包发过去, 其实你的实验报告放在了本地哪个盘, 那个U盘都不知道了。

    教学计划有变, 教务处说你们把去年的某某科目的期末设计交一份过来算你两个学分,你翻箱倒柜, 找到了论文, 但是找不到代码了。

    毕业找工作, 企业问你你大学做了些什么,压面技术面的时候面试官不会抱着你打印的一对代码看的。

    再看实际的工作

    你和同事比尔,老板鲍勃 三人要共同完成一个包含50+个源代码文件的工程。
    你们的工作内容是交集的,工程前期你们三人的工作倒是可以互不相干,可是到了后期往往会出现你和比尔在同一时间内去修改同一个文件甚至同一个功能。
    仔细想想是不是一定会有这个合作的可能?

    1. 你会怎么做?

    上班前你们两人复制了同一份文件,(用U盘copy,QQ发送,TIM也很酷,FTP最好不过了, 微信?文件办公恶心死算了)

    比尔负责一部分,你负责一部分。噼里啪啦谷歌百度,好了,快下班了。根据你和比尔的能力、心情、工资待遇,当天的天气等等,会出现下面几种情况甚至更多:

    a. 你和比尔都完成任务了,文件发回去给老板,老板的心情一定是这样的: 我只要一个份文件,你俩谁改了哪里 给我商量着合并好,加班!!【需要花时间来手工合并代码】

    你俩只能把各自改的地方找出来,合并到一个文件。如果比尔手贱改了你的,还要跟他撕X看看哪里比较合适,撕X得不出结果就需要老大来判定到底谁更厉害。
    不返工还好,当天的代码你们加班一下下就能合并了,第二天你们肯定会坐在一起亲兄弟一样一起写代码,这样下班就能交出一份合并好后的代码了是不?

    b. 你完成了,比尔没完成(或者相反),老板说好,我先把你的改过的文件放进去,明天比尔的鸡腿给你了。【和同事合并代码的时机不确定,你要确保你记得住你的变动】

    第二天比尔终于完成了昨天的任务,老板不得不让你们重复 a 里面的操作。因为你昨晚吸了太多猫,忘记了你昨天改了哪些内容。。。于是鸡腿估计要没了

    于是你和比尔学会了用一个记事本记着: 自己改了哪些内容,免得时间长了忘记了。

    c. 后面程序出现了一个大BUG,谁也说不清楚是谁在什么时候改的,背锅事小,毕竟三个月写功能,三小年改BUG在开发中很普遍了。但是,我特么面对BUG无从下手啊!要是知道每次改了哪里,新增了哪些功能,兴许一眼就看出来了,毕竟一个人一天写不了多少代码的。

    于是老板下令,以后你们记着程序的变动,要比财务记账还清楚!

    d. 某天,比尔磕了太多美剧,工作时候删了一大段代码,问题是合并的时候没发现! 几天后老板才发现,完了,鸡腿事小,进度事大。老板只能找找以前发任务时候的历史(此时不用微信发文件的好处就体现出来了, 因为微信会在短期内把文件清理了)。

    老板说:以后当着我的面合并代码!你改了哪里要说得出名堂来。

    e. 每次改功能都很艰难,所以这个公司没有令研发头疼的 产品经理 ,因为老板真的伤不起!
    f, g, h, i, j, k ...

    如此开发,半年后,老板卒,比尔转行做窗帘,创就了一种 “地中海” 风格的窗帘。

    z. 终极方案:使用 版本控制系统每天 自动的 执行 拉取 -> 修改 -> 同步(自动合并) -> 暂存 / 提交 & 记录变动 & 通知老板检阅 。

    每个人都要学会使用版本控制工具。嗯,只是相比前面那些的话,这是唯一的问题了。

    现在问题来了:版本控制哪家强?

    这个问题我不想说。 不过学校机房一般都装着SVN吧, 不用GIT, 你至少也要用上 SVN

    那么GIT到底怎么用

    安装 & 高级教程 廖雪峰 Git教程

    那么公共GIT哪家强?面向新手只能给你说这么多

    国际:github:速度慢, 国际化, 全球先进性的代表, 开源产品最佳,国际市场必选

    国内:码云 : 速度快, 中文, 权限系统可以把程序员员工当做小偷, 相对免费

    还有其他, 但是我只用过上面两款。

    怎么用?最经典的三招

    在本地初始化一个仓库并和远程关联 & 完成你的工作 & 提交你的代码

    # cd 到你的工程目录
    # git clone git@github.com:michaelliao/learngit.git # 将已有的远程仓库克隆到本地
    git init # 初始化一个git仓库
    git remote add origin git@github.com:michaelliao/learngit.git # 将这个仓库和远程仓库关联
    # ---------- 此处开始工作 ----------
    git add . # 将你的文件变动添加到仓库
    git commit -m "这是本次提交的说明" #提交代码到本地仓库并备注
    git pull origin master # 将别人的改动同步到你本地
    git push -f origin master # 将自己的改动提交到远程
    

    那么GIT到底怎么用

    安装 & 高级教程 廖雪峰 Git教程

    所以GIT到底怎么用

    安装 & 高级教程 菜鸟教程

    所以我不用GIT会怎么样

    所以我不用GIT会怎么样 看,都没人问。但我回答你: 没事

    完结

    相关文章

      网友评论

          本文标题:写给小白的git入门

          本文链接:https://www.haomeiwen.com/subject/abntuxtx.html