美文网首页
git使用教程——快速上手

git使用教程——快速上手

作者: 我不吃姜 | 来源:发表于2017-11-30 11:40 被阅读0次

    1. git安装

    直接访问https://git-scm.com/downloads下载对应系统的git安装包,然后一路安装就可以了,比较简单

    2. git设计理念

    git是一个分布式的版本控制管理工具,它不同于传统的集中式管理工具,例如svn,cvs。使用git协同管理的代码在本地都会有一个完整的仓库备份,这是极为安全的,不会因为服务端的问题导致代码的丢失。

    git版本的管理是快照式的,每一次的提交,相当于生成了这个文件的快照。对同一文件的修改,如果分两次提交,那么就会有两次快照,即有两个版本。

    git的提交都是基于本地仓库的,所以你可以单机运行不联网肆意的提交,当适时的时候push到远程仓库即可。不用担心自己频繁地提交会产生更多的冲突,同样git是提倡积极提交的,这样可以更好的追踪文件,当然在你push到远程的时候,要保证代码的正确,可编译运行,否则将会影响其他协作的开发人员。如果还是不小心提交了错误的代码,通过沟通也是很快就可以解决的。

    3. git快速上手体验

    • 进入工作目录,打开Git Bash,敲入命令git init ,会生成一个.git的文件夹,这样我们就初始化了一个git本地空仓库
    • 敲入命令git status命令,查看一下版本管理的状态
    • 在该目录下新建a.txt文件,敲入命令git status查看文件状态
    • 模拟正常提交
    • 模拟自动合并
    • 模拟合并冲突

    暂时体验到此,后续我们会继续边讲边演示

    4. 工作区和暂存区、本地仓和远程仓概念

    这块介绍我想用这张图来说明比较直观 git设计理念.jpg

    5. git仓库

    通过上面的图就很清晰的知道,仓库分为本地仓库和远程仓库前面我们已经知道如何创建一个仓库,并提交版本管理到本地仓库,这节我们介绍下如何创建远程仓库。

    • 创建远程仓库有俩种方式:
      • 1.先创建本地仓库,然后推送到远程服务器。
        git init & git remote add origin http://101.37.21.24:3385/liuhu/git-test.git & git push -u origin master
      • 2.服务器端初始化仓库,本地拉去远程仓库.
        git clone http://101.37.21.24:3385/liuhu/learngit.git

    6. git分支管理

    • 前面我们使用git init初始化的仓库他是有默认分支的,叫master。所有不管是本地还是远程仓库是时候后都会有一个叫master分支
    • 创建一个新的分支git branch new ,然后切换到新分支 git checkout new,这个两个命令可以合并为git checkout -b new,比较常用。
    • 查看当前仓库的分支git branch -v,带*号的为当前所在分支
    • 切换到master分支,看仓库文件状态
    • 合并new分支到master分支,使用命令git merge new
    • master分支下修改c.txt文件,增加内容The firt line,并提交。切换到new分支,同样修改c.txt文件,增加内容第一行,并提交,然后切换到master分支执行合并命令git merge new
    • 添加远程地址,推送到远程仓库 git remote add origin http://101.37.21.24:3385/liuhu/git-test.git
    • 删除远程的new分支
      git branch -r -d origin/branch-name & git push origin :branch-name

    7. git常用功能和技巧

    • 别名命名

      git config --global alias.st status
      git config --global alias.co checkout
      git config --global alias.ci commit
      git config --global alias.br branch
      
      把暂存区恢复到工作区
      git config --global alias.unstage 'reset HEAD'
      
      显最后次提交信息    
      git config --global alias.last 'log -1'
      
      格式化log的日志输出
      git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
      
    • git stash暂存功能,相当于一临时性的提交,比如正在开发一个模块中的某个功能,只完成了10%,这是你的头过来说你要先暂停下这个功能,先帮我写个方法吧,如果你用的svn,这时你会认为这是很操蛋一个order,但是没办法,他是leader。这时如果你使用的是git,那么你可以很优雅的执行 git stash命令,这个命令会把你当前的工作内容,未提交之前的所有内容存储到一个临时空间里,等你完成了头给的任务然后快速地提交并push到了远程仓库。然后很优雅的执行了git stash apply,OK你之前写的东西又回来了

    • 善于使用add命令来解决部分提交,可以使用ide自带的图形化工具来进行文件的筛选,add到暂存区,再使用commit命令来提交,这么多的好处就是你可以随时的控制需要提交的文件。当然你也可以直接通过commit -a 的组合命令来直接提交,但我不推荐这么做。

    • git有强大的后悔药功能,即使你做了一些你可能认为无法挽回的错误。

    8. git实际工作中的使用和一些常见的问题

    1. 如果你使用的是git命令的话,错误出现时首先是仔细阅读错误提示,一般错误提示都很明确,通常也会给出解决的方案,只要你理解了git的工作原理,相信很快的就能解决问题
    2. 我的建议是也是git命令+图形化工具结合的方式。git命令更有助于你强化git思想,当然这个不会强制要求,个人的工作方式不一样。
    3. 我们大部分的工作基本也就是add + commit + merge + pull + push五个命令
    4. 自动合并,一般不用我们干预,代码会自动进行合并,使用命令可能会弹出合并的说明,这个直接直接输入:q!回车跳过就可以了
    5. 合并中间状态 merge | master ,进入这种状态是git无法进行自动合并,需要我们自己来处理冲突,这个时候你首要的任务就是要处理冲突,处理完之后把文件add并commit,这个时候你才真正的处理完了冲突,你的分支也显示正常了
    6. 合理的规划自己的本地分支。个人建议本地与远程仓库交互的分支不要直接作为开发分支
    7. stash的使用

    9. git flow简述

    10. git标签

    相关文章

      网友评论

          本文标题:git使用教程——快速上手

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