git相关常用命令

git放弃修改相关操作

# 要放弃还未暂存(还未add到暂存区)的本地修改
# 1.放弃单个文件
git checkout -- filename
# 2.放弃所有文件/文件夹
git checkout .

# 删除本地新增文件(还未用add进行跟踪的untrack file)(详见下面的“git删除未跟踪文件”)
# 1. 删除单个文件/文件夹
rm filename / rm -rf dirname
# 2. 放弃所有新增文件(慎用,详见下面git删除为跟踪文件部分。删除文件一般用 -f 即可)
git clean -xfd

# 放弃已经用git add进行暂存的修改或者跟踪的新增文件
# 1. 放弃单个文件
git reset HEAD filename
# 2. 放弃所有文件/文件夹
git reset HEAD .

# 想要撤销某次提交(commit)
# 1. 撤销后保留修改(工作区有被撤销提交的修改)
git reset commit_id
//此处的commit_id是想要回到的提交id
# 2. 完全回滚到某次commit状态(工作区将保持干净,慎用)
git reset --hard commit_id
//此处的commit_id是想要回到的提交id。但是reset后已经提交的修改全部没了,并且原来工作区的修改以及已经暂存到暂存区的修改全部清除

git删除未跟踪文件

# 删除 untracked files
git clean -f
 
# 连 untracked 的目录也一起删掉
git clean -fd
 
# 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)
git clean -xfd
 
# 在用上述 git clean 前,强烈建议加上 -n 参数来先看看会删掉哪些文件,防止重要文件被误删
git clean -nxfd
git clean -nf
git clean -nfd

git tag相关

查看本地标签

git tag
or
git tag -l
or
git tag --list

查看远程标签

git ls-remote --tags

给当前分支打标签

git tag your_tag_name
//e.g.(例如:)
git tag v.1.0.0

给特定commit打标签

git tag v1.0.0 commit_id
//e.g.(例如:)
git tag v1.0.0 -m "information of this tag" 8c15b00
or
git tag v1.0.0 8c15b00 -m "information of this tag"

删除本地标签

git tag -d v1.0.0
or
git tag --d v1.0.0
or
git tag --delete v1.0.0

删除远程分支

git push -d origin v1.0.0
or
git push --delete origin v1.0.0
or
git push origin -d v1.0.0
or
git push origin --delete v1.0.0
or
git push origin :v1.0.0

推送所有本地标签至远程

git push --tag
or
git push --tags
or
git push origin --tag
or
git push origin --tags

推送特定标签至远程

git push origin v1.0.0

查看标签信息

git show v1.0.0

你可能感兴趣的:(git相关常用命令)