zoukankan      html  css  js  c++  java
  • 学习 Git的使用过程

    原文链接: http://www.cnblogs.com/NickQ/p/8882726.html

    学习 Git的使用过程

    初次使用

    git config --global user.name "用户名"
    git config --global user.email "邮箱"
    
    

    Git 创建版本库

    git init  //初始化一个空工程
    
    git add <file>  //将文件添加到暂存区
    
    git commit //添加注释
    参数:
      -am  添加和修改
      -m   修改
      --amend   //更正最后一次提交。使用编辑器,中文可能乱码。
      --amend -n "提交说明"  //更正最后一次提交。不使用编辑器
    
    eg:
        git add file1.txt
        git add file2.txt file3.txt
        git commit -m "add 3 files."
        
    git status //查看状态
    
    git push //将暂存区的内容推向远程。
    
    

    版本控制系统的三棵树

    Git master不断增长
    git_master

    Git 版本回退

    git log  //查看历史记录
    
    参数:
      --pretty=oneline  //简化打印
      
    eg: git log --pretty=oneline
    
    图形化查看:
      git log --decorate --oneline --graph all
    
    git reset   //版本回退
    
    命令选项:
    git reset --soft HEAD~
      - 移动HEAD的指向,将其指向上一个快照。
    git reset --mixed HEAD~  (默认选项 等同于git reset HEAD~)
      - 移动HEAD的指向,将其指向上一个快照。
      - 将HEAD移动后指向的快照回滚到暂存区。
    git reset --hard HEAD~
      - 移动HEAD的指向,将其指向上一个快照。
      - 将HEAD移动后指向的快照回滚到暂存区。
      - 将暂存区的文件还原到工作目录。
      
    eg:git reset HEAD~
    ~ 表示上一级版本,~个数即为级数。HEAD~~ 也可以写为 HEAD~2
    
    //HEAD~ 可以是ID号,这样做可以回滚到过去,也可以回滚到未来。
    
    

    Git_ACCR控制流图

    执行git reset 回滚命令。

    回滚前,HEAD指针状态
    head1

    回滚后,HEAD指针状态
    head2

    Git diff版本比较

    git diff //版本比较,比较暂存区(a)和当前工作目(b)中的文件。
    
    git diff 快照ID1  快照ID2 //比较提交的两个历史快照。
    
    git diff 快照ID  //比较历史快照。
    
    

    Git 删除文件,重命名

    删除过程:

    1、将该文件从工作目录和暂存区文件,即取消跟踪。
    2、修改HEAD~指针,将远程提交回滚。
    3、重新提交。

    git rm  -- <文件名>
    注:如果文件名唯一,没有这样名字的,可以省略 -- 。该命令删除的只是工作目录和暂存区的文件,也就是取消跟踪,在下一次提交时不纳入版本管理。
    
    git reset --soft HEAD~  仅修改指针,回滚到上一次的状态。
    
    

    重命名:

    git ren/mv <旧文件名> <新文件名> 
    
    

    Git 分支管理

    分支是什么?
    Git分支
    实际开发中的分支:
    实际开发中的分支

    创建分支:
      git branch <分支名>
      
    切换分支:
      git chechout <分支名>
      
    图形化查看
      git log --decorate --oneline --graph all
      
    合并分支:
      git merge <分支名>
      
    解决冲突:
      首先 git status //查看未合并的文件
      打开这个文件,借助git添加的标记,修改文件。
      然后用git add /git commit -m "" 命令,提交。  
      
    

    Git分支1

    一个分支管理例程过程中,指针移动过程。
    创建分支D后,切换到D分支,指针移动过程。
    git_branch.gif

    此文有借助廖雪峰老师的视频,为尊重原作者,在此给出原文链接。廖雪峰老师教程的链接

  • 相关阅读:
    Codeforces Round #454 Div. 2 A B C (暂时)
    Codeforces Round #453 Div. 2 A B C D (暂时)
    EOJ Monthly 2017.12 A B C D
    C++调用Matlab引擎 图像读写与处理 (知识+代码篇)
    Codeforces Round #449 Div. 2 A B C (暂时)
    AtCoder Regular Contest 077 E
    hdu 6218 Bridge 线段树 set
    hdu 2243 考研路茫茫——单词情结 AC自动机 矩阵幂次求和
    php配置php-fpm启动参数及配置详解
    PHP连接MySQL数据库的三种方式(mysql、mysqli、pdo)
  • 原文地址:https://www.cnblogs.com/NickQ/p/8882726.html
Copyright © 2011-2022 走看看