学习 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

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

原文地址:https://www.cnblogs.com/NickQ/p/8882726.html