最常用的git命令
Git指令
1、初始化仓库
git init
2、克隆一个项目代码
git clone [url]
3、新建一个分支,并切换到该分支
git checkout -b [branch]
处理bug时可以先创建一个分支,然后add - commit - merge,最后删除该分支
图片说明:
$ git checkout -b iss53
Switched to a new branch "iss53"
解释:
- Git 的分支,其实本质上仅仅是指向提交对象的可变指针。 Git 的默认分支名字是
master
。在多次提交操作之后,你其实已经有一个指向最后那个提交对象的 master 分支。 master 分支会在每次提交时自动向前移动。 - Git 的 master 分支并不是一个特殊分支。 它就跟其它分支完全没有区别。 之所以几乎每一个仓库都有 master 分支,是因为 git init 命令默认创建它,并且大多数人都懒得去改动它。
4、查看当前分支
git branch
git branch命令会列出所有分支,当前分支前面会标一个*号
master
system_test
* yunfei
5、查看修改的文件
git status
6、添加当前目录的所有文件到暂存区
git add .
7、提交暂存区到仓库区
git commit -m [message]
8、推送本地指定分支到远程仓库
git push origin dbase_bugfix 就可以了
9、将文件存至暂存区
# 保存到缓存区
git stash save '本次暂存的标识名字'
# 查看暂存区列表
git stash list
# 查看最近暂存区保存的内容
git stash show
git stash show stash@{index}
# 删除暂存区指定记录
git stash drop stash@{index}
# 清空缓存区
git stash clear
从草稿箱还原文件
# 恢复最近暂存的内容
git stash pop
# 恢复指定草稿(pop会删除暂存区内容)
git stash pop stash@{index}
git stash apply stash@{0}
10、撤销提交(–hard为强制提交,可以不加)
git reset --hard HEAD
# 后退一步
git reset --hard HEAD^
# 后退N步
git reset --hard HEAD~2
# 撤销指定记录提交
git log
git reset --hard commit_id (哈希索引值)
# 撤销指定文件提交
git reset HEAD README.MD (指定文件名)
git reflog (查看非明细)
git reset HEAD@{1} (注意数字1是需要撤销到的版本)
英文状态下按q退出git log
11、将远程分支上的最新的修改下载下来(git fetch)
$ git fetch <远程主机名> <分支名>
例如:取回origin主机的master分支,如下:
git fetch origin master
12、一个分支的修改合并到当前分支
git rebase
指令会复制当前分支的所有最新提交,然后将这些提交添加到指定分支提交记录之上。
详细可参考1
详细可参考2
假设Git目前只有一个分支master。开发人员的工作流程是
- git clone master branch
- 在自己本地checkout -b local创建一个本地开发分支
- 在本地的开发分支上开发和测试
- 阶段性开发完成后(包含功能代码和单元测试),可以准备提交代码
-
首先切换到master分支,git pull拉取最新的分支状态
-
然后切回local分支
-
通过git rebase -i 将本地的多次提交合并为一个,以简化提交历史。本地有多个提交时,如果不进行这一步,在git rebase master时会多次解决冲突(最坏情况下,每一个提交都会相应解决一个冲突)
-
git rebase master将master最新的分支同步到本地,这个过程可能需要手动解决冲突(如果进行了上一步的话,只用解决一次冲突)
-
然后切换到master分支,git merge将本地的local分支内容合并到master分支
-
git push将master分支的提交上传
-
- 本地开发分支可以灵活管理
git checkout master
git pull
git checkout local
git rebase -i HEAD~2 //合并提交 --- 2表示合并两个
git rebase master---->解决冲突--->git rebase --continue
git checkout master
git merge local
git push
参考
1、https://blog.csdn.net/qq_42780289/article/details/98049574
2、https://mp.weixin.qq.com/s?__biz=MzI0MDQ4MTM5NQ==&mid=2247492813&idx=1&sn=886c2e6a4773fcdcaadb3e6034c07a52&chksm=e91881d1de6f08c7d8fc94dcd0f571442e665d1b6a99ab42fc72608aa7cff0adcda7b8f9324e&token=253868916&lang=zh_CN#rd
3、https://www.jianshu.com/p/6960811ac89c4
4、四个区域常用命令
5、git最最最最…常用命令