其他

Git的常用命令介绍

Git整体工作流程


  • Workspace:工作区
  • Index / Stage:暂存区
  • Repository:仓库区(或本地仓库)
  • Remote:远程仓库

版本仓库:

 1.通过命令 git init 把这个目录变成git可以管理的仓库

(会生成.git 文件)默认.git 文件不显示

2. git add  xxxxx  (将工作区的指定文件添加到 暂存区中)

没有任何提示,说明已经添加成功了

3. git commit -m  ‘一些提交注释’ (把文件提交到本地仓库)

4. git status  (查看是否有文件没有被提交)

展示说明没有任何文件未提交,但是我现在继续来改下readme.txt内容,之后开始修改reademe.txt内容后,再执行下:git status

展示说明没有任何文件未提交,但是我现在继续来改下readme.txt内容,之后开始修改reademe.txt内容后,再执行下:git status

readme.txt 文件已经被修改,但是未被提交的修改

(changes not stateg   : 修改的文件 ,  Untracked files : 新增文件 , Unmerged path:  有冲突)

5. git  diff   xx  ( 可以查看修改的内容) 

二、版本回退:


如上,我们已经学会了修改文件,现在我继续对readme.txt文件进行修改,再增加一行,

内容为33333333333333.继续执行命令如下:

 1. git log  ( 查看提交的历史记录)

如果嫌上面显示的信息太多,我们可以使用 git log –pretty=oneline 演示如下:

2.  git reset –hard  HEAD^ (回退到上一个版本)

 3. cat   xxx  (查看文件内容) 

4.  git reflog (查看所有历史记录(不受回退影响))

如果想恢复到原有到版本,从这里查看对应到版本号,执行: git reset –hrad 6fcfc89

三、 Git撤销修改 和 删除文件


1. 撤销修改

如果我现在修改了一些文件,但并没有提交到暂存区

简便方法:git checkout -- 文件名  即可实现

如果修改了一些文件,并且已经提交到了暂存区了,则没有效果了

2. 删除文件

rm   xxx  

删除任务后,只要没有提交到本地仓库(也就是说 没有commit ),通过git checkout — 文件名即可恢复

四、分支


  • git checkout -b dev : 创建并切换分支 (等于 2、3 操作)
  • git checkout xxx : 切换分支
  • git branch xx : 创建分支
  • git branch 查看当前分支
  • git merge xx : 合并分支 (HEAD: 当前 ==== 下 合并分支的内容)
  • git branch -d xx : 删除分支

五、Bug分支


在某些场景中,目前在当前的分支开发中,但突然发现此分支原有的一个功能有bug,但当前已经在此分支开发新但功能了,而且并不想提交,此时应该怎么办呢?

(1)git stash 能够保存当前的所有内容

(2)git checkout -b dev   去处理bug

(3)git merge dev    合并分支,解决冲突

(4)git stash  apply   恢复  

(5)git stash   drop    恢复的同时,删除 stash 对应的内容

(6)git  stash  list    查看  所以被保存的 stash

  六、其他


git remote : 查看远程仓库信息

git remote -v : 查看详细信息