# Git 命令大全

工作区(working diretory) 用于修改文件 缓存区(stage) 是用来暂时存放工作区中修改的内容 提交历史(commit history) 提交代码的历史记录

1. 创建版本库

git init

2. 添加文件到暂存区

添加指定的文件到暂存区

git add 文件名

添加全文件到暂存区,保存新的添加和修改,但是不包括删除

git add .

保存修改和删除,但是不包括新建文件

git add -u 

保存所有的修改,包括修改删除新建文件

git add -A 

3. 代码提交到仓库区

提交暂存区到仓库,[message ]里为提交的内容说明

git commit -m "[message]"

提交暂存区的指定文件到仓库, file1,file2为指定文件的名称,[message ]里为提交的内容说明

git commit [file1][file2]...  -m "[message]"

修改最近一次提交内容,适用于提交注释书写有误或者一遗漏提交文件,对于遗漏的文件需要git add提交到缓存区后才能执行

git commit --amend "[message]"

4. 代码回退

回退版本,一个……^表示一个版本

git reset HEAD^                     或者   git reset HEAD~n

代码回退到指定版本,id为指定的版本号

git reset commit -id

代码回退版本的几次修改,以下内容表示回退一个版本,但是所有的变更都移动到暂存区

git reset --soft HEAD~1

代码回退版本的几次修改,与上面不同的是,重置暂存区,并把所有的变更都移到工作区

git reset HEAD~1

代码回退版本的几次修改,与上面两个不同的是,会重置暂存区,并且会将工作区代码清空

git reset --hard HEAD~1

5. 分支的创建和删除

查看本地所有分支

git branch

查看远程所有的分支

git branch -a

创建分支,name为建立分支的名称

git branch name

删除分支,name为要删除分支的名称

git branch -d name

删除远程的分支,name为要删除分支的名称

git push origin --delete name

重命名分支,将name1,命名为name2

git branch -m name1 name2 

6. 切换与合并分支

创建name分支,并切换到name分支上

git checkout -b name

在当前分支上合并name分支

git merge name

切换分支,切换分支到name

git checkout name

7. Tag

列出所有的tag

git tag

查看tag信息,名称为name

git show name

8. 推送

git push

9. 删除未添加到版本库中的文件或者文件夹

删除untracked files

git clean -f

连untracked files 的目录页一起删掉

 git clean -fd

在使用清理 git clean之前,建议加上 -n 来先看看会删掉哪些文件,防止重要文件被误删

   git clean -nxfd
   git clean -nf
   git clean -nfd

添加忽略文件 .gitignore

.gitignore配置文件用于配置不需要加入版本管理的文件。
   配置语法: "/"  开头表示目录;  "*"  通配多个字符;  "?"  通配单个字符   "[]" 包含单个字符的匹配列表;  "!"                            表示不忽略(跟踪)匹配到的文件或目录;
说明:git 对于 .ignore 配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;
示例:(1) foder/*   忽略目录foder下的全部内容,不管是根目录下的 /foder/ 目录,还是某个子目录 /list/foder/ 目录,都会被                       忽略。
     (2) /foder/*   说明:忽略根目录下的 /foder/ 目录的全部内容;
     (3) /*!.gitignore
          !/fw/bin/
          !/fw/sf/
     说明:忽略全部内容,但是不忽略 .gitignore文件,根目录下的 /fw/bin/ 和 /fw/sf/ 
     注意问题: .gitignore文件只对还没有加入版本管理的文件起作用,如果之前已经用git把要忽略的文件纳入了版本库,就不起作用了


zq 2020-09-12 11:31:53.704000
北京大奥世纪网络科技有限公司
邮箱: daaoshiji@daaoshiji.cn
电话: 18510238382
地址: 北京市朝阳区王四营乡人民日报印刷厂房2层206室