公司主页
产品中心
企业介绍
关于我们
Blog
# 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室