Git 的常用命令
目录
- Git 的常用命令
- 帮助
- 初始化配置
- 提交
- 远程仓库管理
- 版本控制
- 删除
- 分支管理
- 查看文件提交、状态
帮助
git help
git help [命令]
- 查看 git 使用指南(这个命令会详细展示 git 的使用周期)
git help tutorial
初始化配置
git init
设置用户名、邮箱
(区分不同的开发人员),引号 ‘"’ 要加的
// 系统用户级别
git config --global user.name "用户名"
git config --global user.email "邮箱"
// 项目用户级别
git config user.name "用户名"
git config user.email "邮箱"
git clone [远程仓库 URL 地址]
git config --global http.proxy
// 移除
git config --global --unset http.proxy
// 设置
git config --global http.proxy 192.168.1.1:8093
提交
添加工作区的文件到暂存区
(可以用 ‘.’ 表示所有更改过的文件)
git add [文件名]
git add .
git rm --cached [文件名]
将指定文件丢弃工作区的改动
(即:放弃工作目录中的改动)
git checkout -- [文件名]
git restore [文件名]
- 将暂存区的文件
提交到本地仓库
(comment:提交信息描述),引号 ‘"’ 要加的
git commit -m "comment" [文件名]
git commit [文件名]
git push [远程仓库别名] [分支名]
git push -u [远程仓库别名] [分支名]
// 一步到位
git pull [远程仓库别名] [分支名]
// 分步操作(此操作会创建一个分支来存储拉取的内容,分支名:远程仓库别名/分支名)
git fetch [远程仓库别名] [分支名]
git merge [远程仓库别名/分支名]
远程仓库管理
git remote add [别名] [远程仓库 URL 地址]
git remote -v
git remote remove [别名]
版本控制
git reset --hard [索引值]
git reset --hard [索引值]
// '^' 的个数表示回退步数
git reset --hard HEAD^
// 'x' 的值表示回退步数
git reset --hard HEAD~x
'--soft'
仅仅在本地仓库移动 HEAD 指针
'--mixed'
在本地仓库移动 HEAD 指针
重置暂存区
'--hard'
在本地仓库移动 HEAD 指针
重置暂存区
重置工作区
删除
删除文件
(提交记录无法删除,文件删除后,可以通过回退版本找回文件)
git rm [文件名]
分支管理
// 查看本地仓库分支
git branch
// 查看所有分支(本地仓库分支 和 远程仓库分支)
git branch -a
// 查看本地仓库分支(同时显示该分支最近一次提交信息)
git branch -v
// 查看远程仓库分支
git branch -r
// 查看所有分支(本地仓库分支 和 远程仓库分支),同时显示该分支最近一次提交信息
git branch -a -v
git checkout [分支名]
git branch [分支名]
git checkout -b [本地分支名] [远程仓库别名]/[远程分支名]
删除本地分支
(-d:表示删除前先检查,-D:不检查直接删除)
git branch -d [分支名]
git push [远程仓库别名] --delete [远程分支名]
合并分支
(在被合并的分支上操作,被合并分支:变化的分支)
git merge [另一个分支的名称]
// 解决冲突问题(两个分支在某个文件的同一位置都修改了)
// 1、在编辑器中修改文件、代码
// 2、将文件放入暂存区
git add [文件名]
// 3、最后提交文件(不加文件名)
git commit -m "comment"
git commit
查看文件提交、状态
git log
// 显示 版本号 和 提交信息
git log --pretty=oneline
// 优化显示 版本号(简略版) 和 提交信息
git log --oneline
// 以键值对的方式显示 版本号(简略版) 和 提交信息,同时显示一些方便版本回退的信息
git reflog
cat .git/config
cat [文件名]
// 比较文件修改前后有什么不同
git diff [文件名]
// 比较文件与本地库历史版本有什么不同
git diff HEAD/HEAD^ [文件名]
git status
git show