GIT常用命令
https://gitee.com/all-about-git
1 本地库初始化
命令:git init
2 设置签名
命令:
项目级别/仓库级别:仅在当前本地库范围内有效git config user.name zhouinfo
git config user.email zhouinfo@qq.com
系统用户级别:登录当前操作系统的用户范围git config --global user.name zhouinfo
git config --global user.email zhouinfo@qq.com
3 状态查看
命令:git status
查看工作区、暂存区状态
4 添加
命令:git add [fileName]
将工作区的“新建/修改”添加到暂存区
5 提交
命令:git commit -m "commit message" [file name]
将暂存区的内容提交到本地库
6 查看历史记录
命令:git log
多屏显示控制方式: 空格向下翻页 b 向上翻页 q 退出
命令:git log --pretty=oneline
命令:git log --oneline
命令:git reflog
7 前进后退
基于索引值操作[推荐]:
命令:git reset --hard [局部索引值]
使用^符号:只能后退
命令:git reset t --hard HEAD^
注:一个^表示后退一步,n 个表示后退 n 步
使用符号:只能后退n `
`git reset –hard HEAD
注:表示后退 n 步
reset 命令的三个参数对比:
–soft 参数
仅仅在本地库移动 HEAD 指针
–mixed 参数
在本地库移动 HEAD 指针
重置暂存区
–hard 参数
在本地库移动 HEAD 指针
重置暂存区
重置工作区
8 删除文件并找回
前提:删除前,文件存在时的状态提交到了本地库。
操作:git reset --hard [指针位置]
删除操作已经提交到本地库:指针位置指向历史记录
删除操作尚未提交到本地库:指针位置使用 HEAD
9 比较文件差异
git diff [文件名]
将工作区中的文件和暂存区进行比较git diff [本地库中历史版本] [文件名]
将工作区中的文件和本地库历史记录比较
不带文件名比较多个文件
2.0分支管理
分支操作
1 创建分支
git branch [分支名]
查看分支git branch -v
切换分支git checkout [分支名]
2 合并分支
第一步:切换到接受修改的分支(被合并,增加新内容)上 git checkout [被合并分支名]
第二步:执行 merge 命令 git merge [有新内容分支名]
解决冲突
第一步:编辑文件,删除特殊符号
第二步:把文件修改到满意的程度,保存退出
第三步:git add [文件名]
第四步:git commit -m "日志信息"
注意:此时 commit 一定不能带具体文件名
分支操作例子
1. 目标:将如何将【本地dev分支】合并到【远程dev分支】上
这个操作需要将【本地dev分支】更新到【远程dev分支】
2个不同分支
【本地dev分支】
【远程dev分支】
大概流程
- 首先切换到【本地dev分支】上 将工作区中需提交的代码提交到【本地dev分支】
- 将【远程dev分支】更新到【本地dev分支】 并解决冲突
- 然后将解决好冲突的【本地dev分支】提交到 【远程dev分支】上
2.目标:将如何将【本地dev分支】合并到【远程master分支】上
这个操作需要将【本地dev分支】更新到【远程master分支】
4个不同分支
【本地dev分支】 【本地master分支】
【远程dev分支】 【远程master分支】
如果没有【远程dev分支】可以忽略前面 2,3 步骤操作
大概流程
- 首先切换到【本地dev分支】上 将工作区中需提交的代码提交到【本地dev分支】
- 将【远程dev分支】更新到【本地dev分支】 并解决冲突
- 然后将解决好冲突的【本地dev分支】提交到 【远程dev分支】上
- 切换到【本地master分支】上
- 将【远程master分支】更新到【本地master分支】 并解决冲突(类似2步骤)
- 将【本地dev分支】Merge合并到【本地master分支】上,解决冲突
- 在【本地master分支】解决完冲突后测试无误,将【本地master分支】提交到【远程master分支】上
到此就完成从【本地dev分支】更新到【远程dev分支】了
3. 目标:将如何将【远程dev分支】合并到【远程master分支】上
不适及本地代码提交 纯粹远程分支合并
3个不同分支
【本地new_dev分支】
【远程dev分支】 【远程master分支】
大概流程
- 首先将【远程dev分支】拉取到 一个新分支【本地new_dev分支】
- 将【远程dev分支】Merge合并到【本地new_dev分支】上
- 在【本地new_dev分支】上测试无误解决好冲突,将【本地new_dev分支】提交到【远程master分支】上
本文作者 : zhouinfo
原文链接 : http://blog.zhouinfo.site/2019/11/06/GIT%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/
版权声明 : 本博客所有文章除特别声明外,均采用 CC Apache License 2.0 许可协议。转载请注明出处!