git 命令 持续更新
checkout
切换分支,创建分支
切换分支
1 | git checkout new_branch_name |
创建新分支并切换到该分支上
1 | git checkout -b new_branch_name |
add
将工作区的文件加入到暂存区.
将目录下所有文件加入到暂存区
1 | git add . |
后面加上一个点,表示当前目录下所有文件.
commit
将暂存区里的文件,提交到版本库里.
1 | git commit -m '提交的信息' |
reset命令
一般用来撤销commit操作,回退到某个版本.
有三种撤销模式:
- soft
- hard
- mixed
soft
不删除工作空间改动代码,撤销commit,不撤销git add
1 | git reset --soft <版本号> |
示例:
1 | 回退到上一个版本 |
hard (谨慎操作)
删除工作空间改动代码,撤销commit,撤销git add,注意完成这个操作后,就恢复到了上一次的commit状态。
1 | git reset --hard <版本号> |
如果误操作了,请看reset误操作
mixed
不删除工作空间改动代码,撤销commit,并且撤销 git add 操作,这个为默认参数,git reset –mixed HEAD^ 和 git reset HEAD^ 效果是一样的
1 | git reset [--mixed] <版本号> |
rm 命令
用于从索引中删除文件或者同时从工作区和索引中删除文件。
1 | git rm [-r] <path> |
-r 如果是删除文件夹则加上此参数,跟linux命令一致.
rm –-cached
从索引中删除文件。但是本地文件还存在, 只是不希望这个文件被版本控制。
1 | git rm --cached [-r] <path> |
比较本地与远程的差异
comment 差异
1 | git log master..origin/master |
文件改动
1 | git diff <local branch> <remote>/<remote branch> |
remote
与远程仓库建立关联
1 | git remote add origin git@github.com:xxxx/xxx.git |
推送到远程分支
1 | 第一次推送 |
解除与远程仓库的关联
1 | git remote remove origin |
推送到远程指定分支
1 | git push origin <localBranchName>:<remoteBranchName> |
查看远程分支详细信息
1 | git remote show [remote_branch_name] |
示例:
1 | git remote show origin |
tag 标签
像其他版本控制系统(VCS)一样,Git 可以给仓库历史中的某一个提交打上标签,以示重要。 比较有代表性的是人们会使用这个功能来标记发布结点( v1.0
、 v2.0
等等)。
列举标签
1 | git tag |
创建标签
Git 支持两种标签:轻量标签(lightweight)与附注标签(annotated).
轻量标签
1 | git tag {version_name} |
附注标签
也就是对改标签有了一个标注说明.
1 | git tag -a {version_name} -m "对该标签的说明以及标注" |
查看标签信息
然后我们可以查看当时标签的信息以及提交的信息.
示例:
1 | git show v1.4 |
此时中间那个是标签的标注说明,后面是当时的commit
的信息.而轻量标签则没有中间的标注说明.
碰到的问题
reset --hard
误操作 回到以前的版本了
发现 git log
没有之后的版本信息,那么在哪里找呢?
可以在 .git
目录下找到,.git\logs\refs\heads
示例:
以上是创建的分支.,打开就能看见各个版本的提交信息,找你想恢复版本的版本号.
1 | git reset --hard 你的版本号 |
这样就可以回到你想回到的版本,这个会保存30天,注意要及时。
- 本文作者: Veng
- 本文链接: http://veng0923.github.io/2020/04/11/git/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!