当前位置: 首页 > 科技观察

常用的Git命令列表

时间:2023-03-21 18:34:17 科技观察

我每天都用Git,但是很多命令记不住。一般来说,日常使用只需记住下图中的6条命令即可。但是如果你熟练使用它,你可能要记住60-100个命令。下面是我常用的Git命令列表。几个专有名词的译文如下。Workspace:工作区Index/Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库1.新建代码库#在当前目录下新建一个Git代码库$gitinit#新建一个目录并将其初始化为Git代码库$gitinit[project-name]#下载一个项目及其整个代码历史$gitclone[url]其次,将Git的设置文件配置为.gitconfig,可以在用户的??主目录下(全局配置),也可以在项目目录下(项目配置)。#显示当前Git配置$gitconfig--list#编辑Git配置文件$gitconfig-e[--global]#提交代码时设置用户信息$gitconfig[--global]user.name"[name]"$gitconfig[--global]user.email"[emailaddress]"3.添加/删除文件#添加指定文件到暂存区$gitadd[file1][file2]...#添加指定目录到暂存区暂存区存储区,包括子目录$gitadd[dir]#将当前目录下的所有文件添加到暂存区$gitadd.#删除工作区文件,并将此次删除放入暂存区$gitrm[file1][file2]...#停止跟踪指定文件,但文件会保留在工作区$gitrm--cached[file]#重命名文件,并将这个重命名放入暂存区$gitmv[file-original][file-renamed]四、代码提交#将暂存区提交到仓库区$gitcommit-m[message]#将暂存区的指定文件提交到仓库区$gitcommit[file1][file2]...-m[message]#提交自上次commit以来工作区的变化,直接提交到仓库区$gitcommit-a#提交时显示所有diff信息$gitcommit-v#使用新的commit替换上次的commit#如果代码没有任何新的改动,则使用重写上次commit的提交信息$gitcommit--amend-m[message]#重做最后一次提交,并包含指定文件的新更改$gitcommit--amend...5.Branch#列出所有本地分支$gitbranch#列出所有远程分支$gitbranch-r#列出所有本地和远程分支$gitbranch-a#创建一个新分支,但仍然保留在当前分支$gitbranch[branch-name]#创建一个新分支并切换到它$gitcheckout-b[branch]#创建一个新分支branch,指向指定的commit$gitbranch[branch][commit]#新建一个分支,并与指定的远程分支建立跟踪关系$gitbranch--track[branch][remote-branch]#切换到指定的分支并更新工作区$gitcheckout[branch-name]#建立现有分支和指定远程分支的跟踪关系$gitbranch--set-upstream[branch][remote-branch]#将指定分支合并到当前分支$gitmerge[branch]#选择一个提交并合并到当前分支$gitcherry-pick[commit]#删除分支$gitbranch-d[branch-name]#删除远程分支$gitpushorigin--delete$gitbranch-dr6.Tags#列出所有标签$gittag#在当前提交中创建一个新标签$gittag[tag]#在指定提交中创建一个新标签$gittag[tag][commit]#查看标签信息$gitshow[tag]#提交指定标签$gitpush[remote][tag]#提交所有标签$gitpush[remote]--tags#新建一个分支,指向一个tag$gitcheckout-b[branch][tag]七、查看信息#显示修改过的文件$gitstatus#显示当前分支的版本历史$gitlog#显示提交历史,以及每次提交更改的文件$gitlog--stat#显示文件的版本历史,包括文件重命名$gitlog--follow[file]$gitwhatchanged[file]#显示每个差异与指定文件相关$gitlog-p[file]#显示指定文件被修改的人和时间$gitblame[file]#显示暂存区和工作区的区别$gitdiff#显示两者的区别暂存区和之前的提交$gitdiff--cached[]#显示工作区与当前分支的差异***commit$gitdiffHEAD#显示两次提交的差异$gitdiff[first-branch]...[second-branch]#显示某个时间提交的元数据和内容变化$gitshow[commit]#显示某次提交中发生变化的文件$gitshow--name-only[commit]#显示某次提交时文件的内容$gitshow[commit]:[filename]#显示当前分支的最后几次提交$gitreflog八、远程同步#下载远程仓库中的所有更改$gitfetch[remote]#显示所有远程仓库$gitremote-v#显示一个远程仓库信息$gitremoteshow[remote]#添加一个新的远程仓库并命名$gitremoteadd[shortname][url]#取回远程仓库中的更改并合并到本地分支$gitpull[remote][branch]#上传本地指定分支到远程仓库$gitpush[remote][branch]#强制将当前分支推送到远程仓库,即使有冲突$gitpush[remote]--force#将所有分支推送到远程仓库$gitpush[remote]--all9.Undo#将暂存区的指定文件恢复到工作区$gitcheckout[file]#将一个commit的指定文件恢复到工作区$gitcheckout[commit][file]#恢复上一次commit的所有文件在工作区$gitcheckout.#重置暂存区指定文件,与上次提交一致,但工作区保持不变$gitreset[file]#重置暂存区和工作区,同上一个Acommit一致$gitreset--hard#将当前分支的指针重置为指定commit,同时重置暂存区,但工作区不变$gitreset[commit]#重置HEAD当前分支到指定的提交,同时e、重置暂存区和工作区,与指定commit一致$gitreset--hard[commit]#resetwhen前者HEAD是指定的commit,但保持暂存区和工作区不变应用于当前分支$gitrevert[commit]10.Others#生成压缩包分发$gitarchive