git入门

作者: EnochQin | 来源:发表于2018-04-28 21:11 被阅读22次

    前言:是一个分散式版本控制软件,最初由林纳斯·托瓦兹制作,于2005年以GPL协议出品。如网站github,本文简单的介绍一些的git 的常用操作。

    1、 git init

    命令作用:在当前目录新建一个Git代码库
    使用时间:当需要创建新仓库时使用
    代码实例:git init

    2、git add

    命令作用:添加指定文件到暂存区
    使用时间:当本地创建文件或更新文件时,需要现将其存入暂存区
    代码实例:git add index.html

    3、git commit -v

    命令作用:提交时显示所有diff信息
    代码实例:git commit -v

    4、 git commit -m

    命令作用:提交暂存区到仓库区
    使用时间:当所有的文件都创建或者更新完成并都提交至暂存区后使用
    代码实例:git commit -m "新的更新"

    5、代码上传

    • git pull 取回远程仓库的变化,并与本地分支合并
    • git push 上传本地指定分支到远程仓库

    6、一些简单的查询命令

    • git diff 显示暂存区和工作区的差异
    • git status -sb 显示有变更的文件
    • git log 显示当前分支的版本历史

    7、git中commit合并

    大致流程:

    git log |head 
    git rebase -i d1
    # if fail, use git rebase --abort
    git push --force 
    

    详细流程:

    1. 首先:查看提交历史,git log,历史记录是按照时间排序的,时间近的排在前面。

    2. git rebase。想要合并1-3条,有两个方法:

      • 从HEAD版本开始往过去数3个版本
        git rebase -i HEAD~3
      • 指名要合并的版本之前的版本号
        git rebase -i 3a4226b
        请注意3a4226b这个版本是不参与合并的,可以把它当做一个坐标
    3. 选取要合并的提交

      • 执行了 rebase命令之后,会弹出一个窗口,头几行如下:
      pick 3ca6ec3   '注释**********'
      pick 1b40566   '注释*********'
      pick 53f244a   '注释**********'
      
      • pick改为squash或者s,之后保存并关闭文本编辑窗口即可。改完之后文本内容如下:
      pick 3ca6ec3   '注释**********'
      s 1b40566   '注释*********'
      s 53f244a   '注释**********'
      
    4. 然后保存退出,Git会压缩提交历史,如果有冲突,需要修改,修改的时候要注意,保留最新的历史,不然我们的修改就丢弃了。修改以后要记得敲下面的命令:
      git rebase --abort

    5. 如果没有冲突,或者冲突已经解决,则会出现如下的编辑窗口,输入提交信息后退出即可。

    # This is a combination of 4 commits.  
    #The first commit’s message is:  
    注释......
    # The 2nd commit’s message is:  
    注释......
    # The 3rd commit’s message is:  
    注释......
    # Please enter the commit message for your changes. Lines starting # with ‘#’ will be ignored, and an empty message aborts the commit.
    
    1. 然后再次查看提交历史就会发现这几次提交已经被合并了,然后git push -f提交到远程即可。
      • 关于git push -f命令:
        如果远程主机的版本比本地版本更新,推送时Git会报错,要求先在本地做git pull合并差异,然后再推送到远程主机。这时,如果你一定要推送,可以使用--force选项。使用--force选项,结果导致远程主机上更新的版本被覆盖。除非你很确定要这样做,否则应该尽量避免使用--force选项。

    10、一些关于git更深入的介绍

    相关文章

      网友评论

          本文标题:git入门

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