记录一下常用的git操作。
合并 git push 记录
首先,在本地仓库中,确保工作目录是干净的,没有未提交的更改。可以使用 git status
命令来检查工作目录的状态。
执行以下命令,将本地分支的历史合并为一次提交:
1 |
|
其中,n
是想要合并的提交次数。这个命令将会将最近的 n
次提交合并为一个暂存区的更改,但不会删除它们。
reset之后的几个参数:
--mixed
:表示不删除工作空间改动过的代码,撤销commit
,并且撤销git add .
操作,这个为默认参数(git reset --mixed HEAD^
和git reset HEAD^
操作效果一样)--soft
:表示不删除工作空间改动过的代码,撤销commit
,保留git add .
操作--hard
:表示删除工作空间改动过的代码,撤销commit
,撤销git add .
操作,在完成这个操作之后恢复到上一次commit
的状态(即有改动的代码没了)
然后,使用以下命令创建一个新的提交,将这些更改提交到本地仓库: 1
git commit -m "合并多次提交"
最后,执行强制推送到远程仓库:
1 |
|
其中,<branch_name>
是要推送的分支的名称。 这将覆盖远程仓库上的提交历史,并将多次提交合并为一次提交。请确保在执行强制推送之前,已经备份了远程仓库或确信不会造成数据丢失。
tag 命令
打印所有标签
1 |
|
打印符合检索条件的标签
1 |
|
如 git tag -l 1.*.*
为搜索一级版本为1的版本。
查看对应标签状态
1 |
|
创建轻量标签
轻量标签指向一个发行版的分支,其只是某commit的引用,不存储名称时间戳及标签说明等信息。 1
git tag <版本号>-light
创建带附注标签
相对于轻量标签,附注标签是一个独立的标签对象,包含了名称时间戳以及标签备注等信息,同时指向对应的commit。 1
git tag -a <版本号> -m "<备注信息>"
1
git tag -a <版本号> <SHA值> -m "<备注信息>"
git tag -a 1.0.0 0c3b62d -m "Release Edition v1.0.0"
就是为SHA为0c3b62d的这次提交打了1.0发行版的tag。
删除本地标签
1 |
|
推送所有标签
1 |
|
推送指定版本的标签
1 |
|
删除远程仓库的标签
新版本Git (> v1.7.0) 1
git push origin --delete <版本号>
1
git push origin :refs/tags/<版本号>