git相关操作笔记

git tag相关

创建标签:
git tag -a(含有附注标签(annotate)) tagName -m “附注标签信息”
轻量级的:git tag tagName
查看所有标签
git tag
推送到远程仓库
git push origin tagName
若存在很多未推送的本地标签,你想一次全部推送的话:
git push origin --tags
查看本地某个 tag 的详细信息:
git show tagName
查看远程所有 tag:
git ls-remote --tags origin
本地 tag 的删除:
git tag -d tagName
远程 tag 的删除:
git push origin :tagName

git branch相关

1.查看本地分支
git branch
查看远程分支
git branch -r
查看所有分支
git branch -a
查看所有分支详情
git branch -v
切换分支名
git branch -m dbg_md_test3 dbg_md_hahah

git rebase -i (interactive)相关

1.合并多个commit为一个完整commit
在交互界面git 为我们提供了以下几个命令:
pick:保留该commit(缩写:p)
reword:保留该commit,但我需要修改该commit的注释(缩写:r)
edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)
squash:将该commit和前一个commit合并(缩写:s)
类似于使用(git merge --squash hash值)
fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f)
exec:执行shell命令(缩写:x)
drop:我要丢弃该commit(缩写:d)
2.将某一段commit粘贴到另一个分支上
(如果只是复制某一两个提交到其他分支,建议使用更简单的命令:git cherry-pick)
git rebase [startpoint] [endpoint] --onto [branchName]
其中,[startpoint] [endpoint]仍然和上一个命令一样指定了一个编辑区间(前开后闭),–onto的意思是要将该指定的提交复制到哪个分支上。
例如: git rebase 90bc004^ 5de0da9 --onto master
类似于 git cherry-pick 90bc004^…5de0da9(基于该分支)

git revert相关

git revert是用一次新的commit来回滚之前的commit,此次提交之前的commit都会被保留
假如git commit 链是
A -> B -> C -> D
如果想把B,C,D都给revert,除了一个一个revert之外,还可以使用range revert
git revert B^…D
这样就把B,C,D都给revert了,变成:
A-> B ->C -> D -> D’-> C’ -> B’
用法就是:
git revert OLDER_COMMIT^…NEWER_COMMIT
如果我们想把这三个revert不自动生成三个新的commit,而是用一个commit完成,可以这样:
git revert -n oldCommit^…newCommit
git commit -m “revert oldCommitto newCommit”
类似于 git rebase -i 里面的drop

git stash相关

git stash save “save message” : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。
git stash list :查看stash了哪些存储
git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}
git stash show -p : 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show stash@{$num} -p ,比如第二个:git stash show stash@{1} -p
git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1}
git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}
git stash drop stash@{$num} :丢弃stash@{$num}存储,从列表中删除这个存储
git stash clear :删除所有缓存的stash
git stash -u :存储未追踪(untracked)的文件,即新增文件

git clean相关

git clean -n
是一次clean的演习, 告诉你哪些文件会被删除. 记住他不会真正的删除文件, 只是一个提醒.
git clean -f  
删除当前目录下所有没有track过的文件. 他不会删除.gitignore文件里面指定的文件夹和文件, 不管这些文件有没有被track过.
git clean -df
删除当前目录下没有被track过的文件和文件夹.
git clean -xf
删除当前目录下所有没有track过的文件. 不管他是否是.gitignore文件里面指定的文件夹和文件.
后面参数可以自由组合
如:git clean -nxdf、git clean -xdf

git pull相关

git pull -r origin Ft_rkb_v2.2.25_flow_1.2.6(等于 git fetch --all + git rebase hash值==git pull --rebase)
git pull origin Ft_rkb_v2.2.25_flow_1.2.6 (等于 git fetch --all + git merge hash值)

git log相关

git log
git log --oneline
查看任意一个commit
git show f12584
log –stat 查看简要统计(统计修改行数)
git log --stat
log -p 查看详细历史
git log -p
查看所有更改记录(推荐还原时候使用)
git reflog

git reset相关

reset --hard:重置stage区和工作目录:
reset --soft:保留工作目录,并把重置 HEAD 所带来的新的差异放进暂存区
reset 不加参数(mixed):保留工作目录,并清空暂存区

git diff相关

git diff # 比较当前文件和暂存区文件差异 git diff

git diff id1…id2 # 比较两次提交之间的差异

git diff branch1…branch2 # 在两个分支之间比较

git diff --staged # 比较暂存区和版本库差异

git diff --cached # 比较暂存区和版本库差异

git diff --stat # 仅仅比较统计信息

git remote相关

git remote # 查看关联的远程仓库的名称
git remote -v # 查看关联的远程仓库的详细信息
git remote show origin #查看远程资源
git remote prune 同步已删除的远端分支

其他

git commit --amend -m “更好的提交日志”
git commit -am “注释” #相当于add+commit

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值