Git V2.16.2
2021-10-21 13:49:34 0 举报
AI智能生成
登录查看完整内容
Git命令导图
作者其他创作
大纲/内容
git remote
git remote -v
git remote show origin
列出远程仓库
git remote add myClone https://github.com/Kuri-su/Portflow-Monitor.git
git remote rename origin ori
git remote rm origin
remote
可以使用各种专用协议 [ ssh:// | git:// | file:// | http:// ]
git clone https://url.com/Kuri-su.git
git clone https://url.com/Kuri-su.git test
克隆仓库
clone
git pull origin master
git pull --rebase
pull
git fetch origin master
fetch
git checkout master
git checkout -b test2
git checkout -- readme.md
git checkout --track origin/dev
checkout
git branch test
git branch still-a-branch 38bb7da5e
git branch still-a-branch older-branch
创建分支
git branch
git branch -v
git branch -vv
git branch --merge
git branch --no-merged
git branch -a
git branch -r
查看分支
git branch -u origin/serverfix
切换跟踪的远程分支
git branch -d test
git branch -D test
删除分支
branch
git merge dev
merge
git tag
git tag -l 'v1.8.5*'
列出标签
git tag v1.4
git tag 1.4.7 e7b084 -m "alpha beta"
git tag -a v1.4 -m 'my version 1.4'
贴上标签
git tag -d v1.4
删除标签
tag
git diff foo.txt
git diff --staged
查看暂存区文件和HEAD的区别
git diff 77d231f HEAD
git diff 77d231f^
git diff 77d231f 05bcfd1 - book/bisection/
指定范围内比较
diff
git log -2
git log -p -2
git log --stat
显示提交差异和统计信息
git log
git log --pretty=online
git log --pretty=short
git log --pretty=full
git log --pretty=fuller
简短 | 完整 的显示提交
git log --stat
git log --graph
图形化显示 合并 | 提交 | 分支 历史
git log --after=2.weeks
git log --before="2017-10-15"
根据日期筛选提交
git log --author kurisu
git log --committer kurisu
git log git.png
根据 作者 | 提交者 | 文件 筛选提交
git log --grep kurisu
git log -S function_name
根据 关键字 筛选提交
git log master..dev
git log ^branchA branchB
git log branchA..branchB
git log branchA --not branchB
git log branchA branchB ^branchC
git log branchA branchB --not branchC
查看从dev分支上还没有合并到master的那些提交(双点号)
git log master...experiment
查看两个提交的非共有提交(三点号)
git log -S ZLIB_BUF_MAX --oneline
git log -G GitFlow --stat --oneline
git log -L :git_deflate_bound:zlib.c
日志搜索
git log --name-only
显示提交修改了什么文件
git log --abbrev-commit --oneline
git log --graph --oneline
note
log
请谨慎使用变基操作!
不要将任何已经推送到中央服务器中的提交包含在内,这样做会出现相同变更的不同版本,造成混乱
"如果你听取上述忠告,那就万事大吉。否则,同事会埋怨你,朋友和家人会鄙视你。"
git rebase master
git rebase -i HEAD~3
改变历史
rebase
查看资源库对象的内容或类型和大小信息
对象的基本内容,包括SHA-1,父提交的SHA-1,提交者的信息和提交时间,提交备注信息
git cat-file -p HEAD
对象的大小
git cat-file -s HEAD
对象的类型
git cat-file -t HEAD
cat-file
列出树对象的内容
递归列出树对象的内容
git ls-tree -r HEAD
ls-tree
查看索引(也称为暂存区)的文件列表
cached
git ls-files -c
输出更详细的信息,包括SHA-1等
git ls-files -s
delete files
git ls-files -d
modified files
git ls-files -m
ls-files
hash-object ( undone )
write-tree ( undone )
git update-index --assume-unchanged foo.txt
git update-index --no-assume-unchanged foo.txt
git update-index --really-refresh
update-index
read-tree ( undone )
update-ref ( undone )
symbolic-ref ( undone )
verify-pack ( undone )
git rev-parse dev
rev-parse
底层指令 ( Plumbing ) ( undone )
git show HEAD^
git show d12345^
git show HEAD^2
git show HEAD^^
在SHA-1值或者HEAD后面加上 "^" ,git会将其解释为此次提交的父提交
^
HEAD的父提交的父提交
等价于git show HEAD^^^
git show HEAD~3
~N
祖先引用
Other
打开默认的图形化工具
gitk
cherry-pick ( undone )
谨慎使用
以脚本化的方式重写大量提交
git filter-branch --tree-filter 'rm -f .env passwords.txt' HEAD
git filter-branch --subdirectory-filter trunk HEAD
git filter-branch --commit-filter 'if ["$GIT_AUTHOR_EMAIL"="schacon@localhost"];then GIT_AUTHOR_NAME="Scott Chacon"; GIT_AUTHOR_EMAIL="schacon@example.com"; git commit-tree "$@";else git commit-tree "$@";fi HEAD'
filter-branch
git在你工作的同时,会在后台保存一份reflog,这是一份最近几个月你的HEAD和分支引用的日志
reflog
fsck (undone)
bundle(undone)
blame(undone)
rerere(undone)
git submodule init
初始化索引中记录的子模块
git submodule add
引入子模块
git submodule deinit
取消注册的子模块
git submodule status
显示子模块状态
git submodule update
从项目中拉取提交
git submodule foreach
循环操作
git submodule sync
同步全部的储存库 URL
submodule
git gc
gc
git mv a.txt b.txt
mv
git rm *.txt
git rm *.txt -f (强制)
git rm --cached README
把文件从索引和暂存区移除
rm
git grep -n TODO
git grep --count TODO
git grep --break --heading -n -e '#define' --and \\(-e LINK -e BUF_MAX \\) v1.8.0
grep
git show v1.4
git show 1c002d
git show 1c002d --name-only
show
git clean -d -n
git clean -d -f
git clean -i -d -n -f
git clean -x -d
clean
git stash list
查看储存栈
git stash [ save "message" ]
git stash -u
git stash --keep-index
保存到储存栈
git stash pop
git stash pop stash@{2}
git stash apply
git stash apply stash@{2}
从储存栈恢复
git stash drop
git stash drop stash@{2}
git stash clear
从储存栈删除
git stash branch testChange
基于暂存创建一个分支
git stash [-u|--include-untracked]
储存未被跟踪的文件
git stash --patch
交互式的询问每一个文件是否需要缓存
stash
git reset HEAD <file>
git reset --hard 39ea21a
git reset --merge
取消工作区的合并!
git reset --soft
git reset --mixed
git reset --hard
先 git reset --soft b123456 git.xmind
然后git commit 即可
这样就不需要进行变基操作
你可以使用reset来进行压缩提交,比如对现在这个二进制的git.xmind文件
reset
git status
git status [ -s | --short ]
查看工作目录状态
status
git push origin master
git push origin v1.4
git push origin --tags
推送标签
git push origin :dev
git push origin --delete dev
移除远程分支
push
会跳到默认的文本编辑器,填写更新信息
git commit
git commit [[--message | -m ] "update" ]
git commit -a -m 'update'
git commit --amend
git commit -v
commit
git add *.txt
git add -A
git add -p
git add -i
将文件添加到暂存区
add
git config --global user.name "username"
git config --global user.email email@email.cc
初始化
git config --global alias.br branch
设置别名
git config --list
git config <key>
查看配置
git config --global core.editor vim
git config credential.helper store
config
git init
主要用于客户端
git init --bare
主要用于服务端
init
Git V2.16.2
0 条评论
回复 删除
下一页