初始化版本库,并提交到远程服务器端
1 | mkdir git_project |
1、常用的Git命令
git add–interactive
交互式添加git apply
应用补丁git am
应用邮件格式补丁git annotate
同义词,等同于 git blame
git archive
文件归档打包git bisect
二分查找git blame
文件逐行追溯git branch
分支管理git cat-file
版本库对象研究工具git checkout
检出到工作区、切换或创建分支git cherry-pick
提交拣选git citool
图形化提交,相当于 git gui
命令git clean
清除工作区未跟踪文件git clone
克隆版本库git commit
提交git config
查询和修改配置git describe
通过里程碑直观地显示提交IDgit diff
差异比较git difftool
调用图形化差异比较工具git fetch
获取远程版本库的提交git format-patch
创建邮件格式的补丁文件。参见 git am
命令git grep
文件内容搜索定位工具git gui
基于Tcl/Tk的图形化工具,侧重提交等操作git help
帮助git init
版本库初始化git init-db
同义词,等同于git init
git log
显示提交日志git merge
分支合并git mergetool
图形化冲突解决git mv
重命名git pull
拉回远程版本库的提交git push
推送至远程版本库git rebase
分支变基git rebase–interactive
交互式分支变基git reflog
分支等引用变更记录管理git remote
远程版本库管理git repo-config
同义词,等同于 git config
git reset
重置改变分支“游标”指向git rev-parse
将各种引用表示法转换为哈希值等git revert
反转提交git rm
删除文件git show
显示各种类型的对象git stage
同义词,等同于 git add
git stash
保存和恢复进度git status
显示工作区文件状态git tag
里程碑管理
2、对象库操作相关命令
命令 简要说明git commit-tree
从树对象创建提交git hash-object
从标准输入或文件计算哈希值或创建对象git ls-files
显示工作区和暂存区文件git ls-tree
显示树对象包含的文件git mktag
读取标准输入创建一个里程碑对象git mktree
读取标准输入创建一个树对象git read-tree
读取树对象到暂存区git update-index
工作区内容注册到暂存区及暂存区管理git unpack-file
创建临时文件包含指定 blob 的内容git write-tree
从暂存区创建一个树对象
3、引用操作相关命令
命令 简要说明git check-ref-format
检查引用名称是否符合规范git for-each-ref
引用迭代器,用于shell编程git ls-remote
显示远程版本库的引用git name-rev
将提交ID显示为友好名称git peek-remote
过时命令,请使用 git ls-remote
git rev-list
显示版本范围git show-branch
显示分支列表及拓扑关系git show-ref
显示本地引用git symbolic-ref
显示或者设置符号引用git update-ref
更新引用的指向git verify-tag
校验 GPG 签名的Tag
4、版本库管理相关命令
命令 简要说明git count-objects
显示松散对象的数量和磁盘占用git filter-branch
版本库重构git fsck
对象库完整性检查git fsck-objects
同义词,等同于 git fsck
git gc
版本库存储优化git index-pack
从打包文件创建对应的索引文件git lost-found
过时,请使用 git fsck –lost-found
命令git pack-objects
从标准输入读入对象ID,打包到文件git pack-redundant
查找多余的 pack
文件git pack-refs
将引用打包到 .git/packed-refs
文件中git prune
从对象库删除过期对象git prune-packed
将已经打包的松散对象删除git relink
为本地版本库中相同的对象建立硬连接git repac
k将版本库未打包的松散对象打包git show-index
读取包的索引文件,显示打包文件中的内容git unpack-objects
从打包文件释放文件git verify-pack
校验对象库打包文件
5、数据传输相关命令
命令 简要说明git fetch-pack
执行 git fetch 或 git pull
命令时在本地执行此命令,用于从其他版本库获取缺失的对象git receive-pack
执行 git push
命令时在远程执行的命令,用于接受推送的数据git send-pack
执行 git push
命令时在本地执行的命令,用于向其他版本库推送数据git upload-archive
执行 git archive –remote
命令基于远程版本库创建归档时,远程版本库执行此命令传送归档git upload-pack
执行 git fetch 或 git pull
命令时在远程执行此命令,将对象打包、上传
6、邮件相关命令
命令 简要说明git imap-send
将补丁通过 IMAP 发送git mailinfo
从邮件导出提交说明和补丁git mailsplit
将 mbox 或 Maildir 格式邮箱中邮件逐一提取为文件git request-pull
创建包含提交间差异和执行PULL操作地址的信息git send-email
发送邮件
7、协议相关命令
命令 简要说明git daemon实现
git协议git http-backend
实现HTTP协议的CGI程序,支持智能HTTP协议git instaweb
即时启动浏览器通过 gitweb 浏览当前版本库
git shell
受限制的shell,提供仅执行git命令的SSH访问git update-server-info
更新哑协议需要的辅助文件git http-fetch
通过HTTP协议获取版本库git http-push
通过HTTP/DAV协议推送git remote-ext
由git命令调用,通过外部命令提供扩展协议支持git remote-fd
由git命令调用,使用文件描述符作为协议接口git remote-ftp
由git命令调用,提供对FTP协议的支持git remote-ftps
由git命令调用,提供对FTPS协议的支持git remote-http
由git命令调用,提供对HTTP协议的支持git remote-https
由git命令调用,提供对HTTPS协议的支持git remote-test
git协议扩展示例脚本
8、版本库转换和交互相关命令
命令 简要说明git archimport
导入Arch版本库到gitgit bundle
提交打包和解包,以便在不同版本库间传递git cvsexportcommit
将git的一个提交作为一个CVS检出git cvsimport
导入CVS版本库到git。或者使用 cvs2gitgit cvsserver
git的CVS协议模拟器,可供CVS命令访问git版本库git fast-export
将提交导出为git-fast-import
格式git fast-import
其他版本库迁移至git的通用工具git svn
git 作为前端操作 Subversion
9、合并相关的辅助命令
命令 简要说明git merge-base
供其他脚本调用,找到两个或多个提交最近的共同祖先git merge-file
针对文件的两个不同版本执行三向文件合并git merge-index
对index中的冲突文件调用指定的冲突解决工具git merge-octopus
合并两个以上分支。参见 git merge 的octopus
合并策略git merge-one-file
由 git merge-index
调用的标准辅助程序git merge-ours
合并使用本地版本,抛弃他人版本。参见 git merge 的ours
合并策略git merge-recursive
针对两个分支的三向合并。参见 git merge 的recursive
合并策略git merge-resolve
针对两个分支的三向合并。参见 git merge 的resolve
合并策略git merge-subtree
子树合并。参见 git merge 的 subtree
合并策略git merge-tree
显式三向合并结果,不改变暂存区git fmt-merge-msg
供执行合并操作的脚本调用,用于创建一个合并提交说明git rerere
重用所记录的冲突解决方案
10、 杂项
命令 简要说明git bisect–helper
由 git bisect
命令调用,确认二分查找进度git check-attr
显示某个文件是否设置了某个属性git checkout-index
从暂存区拷贝文件至工作区git cherry
查找没有合并到上游的提交git diff-files
比较暂存区和工作区,相当于 git diff –raw
git diff-index
比较暂存区和版本库,相当于 git diff –cached –raw
git diff-tree
比较两个树对象,相当于 git diff –raw A B
git difftool–helper
由 git difftool
命令调用,默认要使用的差异比较工具git get-tar-commit-id
从 git archive
创建的 tar 包中提取提交IDgit gui–askpass
命令 git gui
的获取用户口令输入界面git notes
提交评论管理git patch-id
补丁过滤行号和空白字符后生成补丁唯一IDgit quiltimport
将Quilt补丁列表应用到当前分支git replace
提交替换git shortlog
对 git log
的汇总输出,适合于产品发布说明git stripspace
删除空行,供其他脚本调用git submodule
子模组管理git tar-tree
过时命令,请使用 git archive
git var
显示 git 环境变量git web–browse
启动浏览器以查看目录或文件git whatchanged
显示提交历史及每次提交的改动git-mergetool–lib
包含于其他脚本中,提供合并/差异比较工具的选择和执行git-parse-remote
包含于其他脚本中,提供操作远程版本库的函数git-sh-setup
包含于其他脚本中,提供 shell 编程的函数库