Git使用的小技巧有哪些
这篇文章主要为大家展示了“Git使用的小技巧有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Git使用的小技巧有哪些”这篇文章吧。
在日常工作中,经常会用到Git操作。但是对于新人来讲,刚上来对Git很陌生,操作起来也很懵逼。
列举所有的别名与配置
gitconfig--list
Git 别名配置
gitconfig--globalalias.gitconfig--globalalias.ststatus
设置git为大小写敏感
gitconfig--globalcore.ignorecasefalse二、Help:常用的辅助查询命令
在git 命令行里查看everyday git
githelpeveryday
显示git常用的帮助命令
githelp-g
获取Git Bash的自动补全
~/.git-completion.bash&&echo'[-f~/.git-completion.bash]&&.~/.git-completion.bash'>>~/.bashrc
设置自动更正
gitconfig--globalhelp.autocorrect1三、Remote:远端仓库配置
获取所有远端引用配置
gitremote
或者
gitremoteshow
修改某个远端的地址
gitremoteset-urloriginURL
Repo
查看当前仓库中的所有未打包的objects和磁盘占用
gitcount-objects--human-readable
从object数据库中删除所有不可达的object
gitgc--prune=now--aggressive四、文件类操作 ,Cache:缓存,Track:文件追踪,
展示所有被追踪的文件
gitls-files-t
展示所有未被追踪的分支
gitls-files--others
展示所有被忽略的文件
gitls-files--others-i--exclude-standardgitcheck-ignore*gitstatus--ignored
Manipulation:操作
停止追踪某个文件但是不删除它
gitrm--cached
或者
gitrm--cached-r
强制删除未被追踪的文件或者目录
gitclean-fgitclean-f-dgitclean-df
清空.gitignore
gitclean-X-f
Changes:修改
Info:信息查看
查看上次提交之后的未暂存文件
gitdiff
查看准备用于提交的暂存了的修改的文件
gitdiff--cached
显示所有暂存与未暂存的文件
gitdiffHEAD
查看最新的文件版本与Stage中区别
gitdiff--staged
dd:追踪某个修改,准备提交
Stage某个文件的部分修改而不是全部
gitadd-p
Reset:修改重置
以HEAD中的最新的内容覆盖某个本地文件的修改
gitcheckout--
Stash:贮存
Info:信息查看
展示所有保存的Stashes
gitstashlist
Manipulation:操作
Save:保存
保存当前追踪的文件修改状态而不提交,并使得工作空间恢复干净
gitstash
或者
gitstashsave
保存所有文件修改,包括未追踪的文件
gitstashsave-u
或者
gitstashsave--include-untracked
Apply:应用
应用任何的Stash而不从Stash列表中删除
gitstashapply
应用并且删除Stash列表中的最后一个
gitstashpop
或者
gitstashapplystash@{0}&&gitstashdropstash@{0}
删除全部存储的Stashes
gitstashclear
或者
gitstashdrop
从某个Stash中应用单个文件
gitcheckout--
或者
gitcheckoutstash@{0}--
Commit:提交
检索某个提交的Hash值
gitrev-list--reverseHEAD|head-1
Info:信息查看
List:Commit列表
查看自Fork Master以来的全部提交
gitlog--no-merges--stat--reversemaster..
展示当前分支中所有尚未合并到Master中的提交
gitcherry-vmaster
或者
gitcherry-vmaster
可视化地查看整个Version树
gitlog--pretty=oneline--graph--decorate--all
或者
gitk-all
查看所有在分支1而不在分支2中的提交
gitlogBranch2^Branch3
Files:文件信息
展示直到某次提交的全部文件列表
gitls-tree--name-only-r
展示所有在某次提交中修改的文件
gitdiff-tree--no-commit-id--name-only-r
展示所有对于某个文件的提交修改
gitlog--follow-p--
Manipulation:关于提交的操作
Apply:Commit确认或者应用
利用cherry-pick将某个分支的某个提交跨分支的应用到其他分支
gitcheckout&&gitcherry-pick
提交时候忽略Staging区域
gitcommit-am
提交时候忽略某个文件
gitupdate-index--assume-unchangedChangelog;gitcommit-a;gitupdate-index--no-assume-unchangedChangelog
撤销某个故意忽略
gitupdate-index--no-assume-unchanged
将某个提交标记为对之前某个提交的Fixup
gitcommit--fixup
Reset:将当前分支的HEAD重置到某个提交时候的状态
重置HEAD到第一次提交
gitupdate-ref-dHEAD
丢弃自某个Commit之后的提交,建议只在私有分支上进行操作。注意,和上一个操作一样,重置不会修改当前的文件状态,Git会自动将当前文件与该Commit时候的改变作为Changes列举出来
gitreset
Undo&Revert:撤销与恢复某个Commit
以创建一个新提交的方式撤销某个提交的操作
gitrevert
恢复某个文件到某个Commit时候的状态
gitcheckout--
Update:修改某个Commit
修改上一个提交的信息
gitcommit-v--amend
修改提交的作者信息
gitcommit--amend--author='AuthorName'
在全局的配置改变了之后,修改某个作者信息
gitcommit--amend--reset-author--no-edit
修改前一个Commit的提交内容但是不修改提交信息
gitadd--all&&gitcommit--amend--no-edit
Branch:分支
Info:信息查看
获取当前分支名
gitrev-parse--abbrev-refHEAD
Tag
列举当前分支上最常用的标签
gitdescribe--tags--abbrev=0
List:分支枚举
获取所有本地与远程的分支
gitbranch-a
只展示远程分支
gitbranch-r
根据某个Commit的Hash来查找所有关联分支
gitbranch-a--contains或者gitbranch--contains
Changes:某个分支上的修改情况查看
查看两周以来的所有修改
gitlog--no-merges--raw--since='2weeksago'或者gitwhatchanged--since='2weeksago'
Merger:合并情况查看
追踪某个分支的上游分支
gitbranch-uorigin/mybranch
列举出所有的分支以及它们的上游和最后一次提交
gitbranch-vv
列举出所有已经合并进入Master的分支
gitbranch--mergedmaster
Manipulation:操作
Checkout:检出与分支切换
快速切换到上一个分支
gitcheckout-
不带历史记录的检出某个分支
gitcheckout--orphan
Remove:分支移除
删除本地分支
gitbranch-d
删除远程分支
gitpushorigin--delete或者gitpushorigin:
移除所有已经合并进入Master的分支
gitbranch--mergedmaster|grep-v'^/*'|xargs-n1gitbranch-d
移除所有在远端已经被删除的远程分支
gitfetch-p或者gitremotepruneorigin
Update:信息更新
修改当前分支名
gitbranch-m或者gitbranch-m[]
rchive:打包
将Master分支打包
gitarchivemaster--format=zip--output=master.zip
将历史记录包括分支内容打包到一个文件中
gitbundlecreate
从某个Bundle中导入
gitclonerepo.bundle-b
Merge:合并
Pull&Push:远程分支合并操作
用pull覆盖本地内容
gitfetch--all&&gitreset--hardorigin/master
根据Pull的ID拉取某个Pull请求到本地分支
gitfetchoriginpull//head:
或者
gitpulloriginpull//head:
Rebase:变基
在Pull时候强制用变基进行操作
gitconfig--globalbranch.autosetuprebasealways
将某个feature分支变基到master,然后合并进master
gitcheckoutfeature&&gitrebase@{-1}&&gitcheckout@{-2}&&gitmerge@{-1}
变基之前自动Stash所有改变
gitrebase--autostash
利用变基自动将fixup提交与正常提交合并
gitrebase-i--autosquash
利用ReBase将前两个提交合并
gitrebase--interactiveHEAD~2
Diff&Conflict:差异与冲突
Info:信息查看
列举全部的冲突文件
gitdiff--name-only--diff-filter=U
在编辑器中打开所有冲突文件
gitdiff--name-only|uniq|xargs$EDITOR
Workflow:工作流
SubModules:子模块
Info:信息查看
Manipulation:操作
利用SubTree方式将某个Project添加到Repo中
gitsubtreeadd--prefix=/--squashgit@github.com:/.gitmaster
更新所有的子模块
gitsubmoduleforeachgitpull
Work Tree
Manipulation:操作
从某个仓库中创建一个新的Working Tree
gitworktreeadd-b
从HEAD状态中创建一个新的Working Tree
gitworktreeadd--detachHEAD
以上是“Git使用的小技巧有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。