当前位置: 首页 > Web前端 > HTML

从命令行使用git

时间:2023-03-28 10:58:06 HTML

工作流程查看git版本git--version#gitversion2.32.0(AppleGit-132)配置Git设置文件为.gitconfig,可以在用户家目录(全局配置)或项目目录(项目配置)).#显示当前Git配置gitconfig--listgitconfig--global-l#编辑Git配置文件gitconfig-e[--global]#设置提交代码时的用户信息gitconfig[--global]user.name"[name]"gitconfig[--global]user.email"[emailaddress]"gitconfig--globaluser.name"codergzh"gitconfig--globaluser.email"codergzh@163.com"gitrepositoryWorkspace:workspace(本地项目目录)Index/Stage:暂存区(在git目录下的index文件(.git/index)中)Repository:本地仓库(workspace有一个隐藏目录.git,不认为是workspace,而是Git的版本库)remote:远程仓库(eg:gitee,github等)Createawarehouse#在当前目录下新建一个Git代码库gitinit#新建一个目录并初始化为Git代码basegitinit[project-name]#下载一个项目及其整个代码历史gitclone[url]添加/删除文件#添加当前项目中的所有文件目录到暂存区gitadd.#将指定文件添加到暂存区gitadd[file1][file2]...#将指定目录添加到暂存区,包括子目录gitadd[dir]#之前每次添加修改,都需要确认#对于同一个文件的多次修改,可以分批提交gitadd-p#删除工作区文件,并将本次删除放入暂存区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#使用新的committoreplacelastcommit#如果代码没有新的变化,用于重写上次commit的提交信息gitcommit--amend-m[message]#重做上次commit,包含新的变化指定文件gitcommit--amend[file1][file2]...branch#列出所有本地分支gitbranch#列出所有远程分支gitbranch-r#列出所有本地分支和远程分支gitbranch-a#新建一个分支,但仍停留在当前分支gitbranch[branch-name]#创建一个新分支并切换到它gitcheckout-b[branch]#创建一个新的分支指向指定的提交gitbranch[branch][commit]#创建一个新的分支并与指定的远程分支建立跟踪关系gitbranch--track[branch][remote-branch]#切换到指定分支并更新工作区gitcheckout[branch-name]#切换到上一个分支gitcheckout-#在已有分支和指定远程分支之间建立跟踪关系gitbranch--set-upstream[branch][remote-branch]#将指定分支合并到当前分支gitmerge[branch]#选择一个commit合并到当前分支gitcherry-pick[commit]#删除分支gitbranch-d[branch-name]#删除远程分支gitpushorigin--delete[branch-name]gitbranch-dr[remote/branch]tag#列出所有taggittag#在当前commitgit标签中新建标签[tag]#在指定commitgit标签中新建标签[tag][commit]#删除本地taggit标签-d[tag]#删除远程taggitpushorigin:refs/tags/[tagName]#查看tag信息gitshow[tag]#提交指定的taggitpush[remote][tag]#提交所有taggitpush[remote]--tags#创建一个新的分支指向一个taggitcheckout-b[branch][tag]查看信息#显示更改的文件(查看所有未提交的文件,绿色表示add在缓存中,红色表示不在缓存中)gitstatus#显示当前分支的版本历史(appendGPLwassubmitted最近加了上次distributed,写了一个readme文件(最早)gitlog#显示commit历史,每次commit改变的文件,每次commit占一行gitlog[tag]HEAD--pretty=format:%s#显示提交后的所有更改,其“提交描述”必须满足搜索条件gitlog[tag]HEAD--grepfeature#显示已提交的内容一个文件的rsion历史,包括文件重命名gitlog--follow[file]gitwhatchanged[file]#显示每个diffgitlog-p[file]#显示过去5次提交gitlog-5--pretty--oneline#显示所有提交的用户,按提交次数排序gitshortlog-sn#显示修改指定文件的人和时间gitblame[file]#显示暂存区和工作区的区别gitdiff#显示两者的区别暂存区与上一次提交gitdiff--cached[file]#显示工作区与当前分支最新提交的差异gitdiffHEAD#显示两个提交之间的差异gitdiff[first-branch]...[second-branch]#显示你今天写了多少行代码gitdiff--shortstat"@{0dayago}"#显示一个提交的元数据和contentchangesgitshow[commit]#显示某次提交中发生变化的文件gitshow--name-only[commit]#显示某次提交时文件的内容gitshow[commit]:[filename]#显示当前分支最近几次提交gitreflog远程同步#从远程库更新到本地库,如果有冲突,需要手动解决冲突<<<<<<<,=======,>>>>>>>会标记冲突的内容gitpull#下载远程仓库中的所有更改gitfetch[remote]#显示所有远程仓库gitremote-v#显示某个远程仓库的信息gitremoteshow[remote]#新增一个远程仓库,并命名为gitremoteadd[shortname][url]#获取远程仓库中的变化,并合并with本地分支gitpull[remote][branch]#将本地指定分支上传到远程仓库gitpush[remote][branch]#强制将当前分支推送到远程仓库,即使有冲突。gitpush[remote]--force#将所有分支推送到远程仓库。[file]#将commit的指定文件恢复到暂存区和工作区gitcheckout[commit][file]#将暂存区的所有文件恢复到工作区gitcheckout.#重置指定文件在暂存区暂存区,与上次提交保持一致,但工作区保持不变gitreset[file]#重置暂存区和工作区,与上次提交保持一致gitreset--hard#将当前分支的指针重置为指定commit,同时重置暂存区,但工作区不变gitreset[commit]#重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致gitreset--hard[commit]#将当前HEAD重置为指定commit,但保持暂存区和工作区不变gitreset--keep[commit]#创建一个新的提交来撤销指定的提交#后者的所有更改将被前者抵消并应用到当前分支gitrevert[commit]#暂时删除未提交的更改并将它们移动到gitstash稍后gitstashpopothers#生成压缩包分发gitarchive修改/更改文件名大小写,如果提交失败,检查是否忽略大小写gitconfigcore.ignorecase//true表示忽略大小写,false表示不忽略大小写设置默认不忽略大小写gitconfigcore.ignorecasefalse常用命令备忘单图片来自网络