前言Git是我们日常工作中使用频率非常高的一个工具,各种指令让人眼花缭乱。今天,我们将它的一些基本使用说明总结在这里,作为操作笔记。基本命令gitadd将要提交的文件的信息添加到暂存区。使用gitcommit时,会根据暂存区的内容提交文件。它通常将现有路径的当前内容作为一个整体添加,但通过一些选项,它也可以用于添加内容,仅对其适用的工作树文件进行一些更改,或删除不存在的路径工作树了。“索引”保留工作树内容的快照,并将该快照用作下一次提交的内容。因此,在对工作树进行任何更改之后,在运行gitcommit命令之前,必须使用gitadd命令将任何新的或修改的文件添加到索引中。该命令可以在提交前执行多次。它只在运行gitadd命令时添加指定文件的内容;如果您希望后续更改包含在下一次提交中,则必须再次运行gitadd以将新内容添加到索引中。#添加指定文件到暂存区$gitadd<文件路径>#添加所有修改和删除的文件到暂存区$gitadd-u[<文件路径>]$gitadd--update[<文件路径>]#将所有修改、删除、新增的文件添加到暂存区,省略<文件路径>为当前目录$gitadd-A[<文件路径>]$gitadd--all[<文件路径>]#查看所有修改、删除但未提交的文件,输入一个子命令system$gitadd-i[]$gitadd--interactive[]gitbranch来运行Git的分支命令。#列出所有本地分支,当前分支用“*”标记$gitbranch#列出所有本地分支并显示最后一次提交,当前分支用“*”标记$gitbranch-v#创建一个新分支,新分支根据上一次提交建立$gitbranch#修改分支名#如果不指定原分支名,则为当前分支$gitbranch-m[<原分支名>]#强制修改分支名称$gitbranch-M[<原分支名称>]<新分支名称>#删除指定本地分支$gitbranch-d<分支名称>#强制删除指定本地分支$gitbranch-Dgitcheckout更新工作树中的文件以匹配索引或指定树中的版本。如果没有给出路径-gitcheckout也会更新HEAD,将指定的分支设置为当前分支。#切换到已有的指定分支$gitcheckout#创建并切换到指定分支,保留所有commit记录#相当于“gitbranch”和“gitcheckout”两条命令合并$gitcheckout-b#创建并切换到指定分支,删除所有提交记录$gitcheckout--orphan#替换本地改动,新文件和已经添加到暂存区的内容不受影响$gitcheckoutgitcheckout是最常用的git命令之一,也是一个非常危险的命令,因为这个命令会重写工作空间。gitclone将存储库克隆到新创建的目录中,为克隆存储库中的每个分支创建远程跟踪分支(使用gitbranch-r可见),并从克隆中检出存储库作为当前活动分支分支的初始分支.#默认情况下,在当前目录下创建一个与版本库同名的文件夹,并将版本下载到该文件夹??中。$gitclone<远程仓库的URL>#指定本地仓库的目录$gitclone<远程仓库的URL><本地目录>#-b指定要克隆的分支,默认是master分支$gitclone<远程存储库的url>-b<分支名称><本地目录>gitcommit存储索引的当前内容以及描述新提交中更改的用户和日志消息。#将暂存区文件提交到本地仓库,调用文本编辑器输入本次提交的描述信息$gitcommit#将暂存区文件提交到本地仓库,并添加描述信息$gitcommit-m""#将所有修改和删除的文件提交到本地仓库#排除没有被仓库跟踪的文件,相当于先调用"gitadd-u"$gitcommit-a-m""#修改上次提交的描述信息$gitcommit--amendgitconfig主要用于配置Git的相关参数,主要操作有:#查看配置信息#--local:仓库级别,--global:全局级别,--system:系统级别$gitconfig<--local|--全球|--system>-l#查看当前生效的配置信息$gitconfig-l#编辑配置文件#--local:仓库级别,--global:全局级别,--system:系统级别$gitconfig<--本地|--全球|--system>-e#添加配置项#--local:仓库级别,--global:全局级别,--system:系统级别$gitconfig<--local|--全球|--system>--add#获取配置项$gitconfig<--local|--全球|--system>--get#删除配置项$gitconfig<--local|--全球|--system>--unset#配置提交记录中的用户信息$gitconfig--globaluser.name$gitconfig--globaluser.email#改变大小gitcache#如果提交的内容很大,默认缓存很小,提交会失败#缓存大小单位:B,例如:524288000(500MB)$gitconfig--globalhttp.postBuffer#调用gitstatus/gitdiff命令时,更改状态会高亮显示或者用颜色显示$gitconfig--globalcolor.uitrue#配置可以缓存密码,以及默认缓存时间为15分钟$gitconfig--globalcredential.helpercache#配置密码缓存时间#缓存时间单位:秒$gitconfig--globalcredential.helper'cache--timeout=<缓存时间>'#配置长期存储密码$gitconfig--globalcredential.helperstoreGit一共有3个配置文件:仓库级配置文件:仓库中的.git/.gitconfig,该配置文件只对所在仓库有效位于全局配置文件:Mac系统在~/.gitconfig,Windows系统在C:\Users\\.gitconfig。系统级配置文件:Git安装目录etc文件夹下的gitconfig(Mac系统下安装目录为/usr/local/git)。gitdiff用于显示提交和工作树之间的变化等。该命令比较工作目录中的当前文件与暂存区的快照之间的差异,即修改后尚未暂存的更改内容.#比较当前文件和暂存区文件的区别,没有临时变化。$gitdiff#比较暂存区文件和上次提交的差异$gitdiff--cached$gitdiff--staged#比较当前文件和上次提交的差异$gitdiffHEAD#查看自指定版本以来改变的内容$gitdiff#比较两个分支的区别$gitdiff#查看两个分支分开后各自的变化。$gitdiff...gitfetch从远程仓库获取最新版本到本地tmp分支。#获取远程仓库所有分支的最新版本到本地$gitfetch<远程仓库的别名>#获取远程仓库指定分支的最新版本到本地$gitfetch<远程主机名>gitinit初始化项目所在目录。初始化后,当前目录下会出现一个名为.git的目录。#初始化本地仓库,在当前目录生成.git文件夹。$gitinitgitlog显示提交记录。#打印所有提交记录$gitlog#打印从第一次提交到指定提交的记录$gitlog#打印指定数量的最新提交记录$gitlog-gitmerge用于将两个或多个开发历史加入(合并)在一起。#将指定分支合并到当前分支,并自动重新提交$gitmerge#将指定分支合并到当前分支,不重新提交$gitmerge--no-commitgitmv重命名文件或文件夹。#重命名指定的文件或文件夹$gitmv<源文件/文件夹><目标文件/文件夹>gitpull从远程仓库获取最新版本并在本地合并。首先会执行gitfetch,然后会执行gitmerge,将fetch出来的分支的HEAD合并到当前分支中。#从远程仓库获取最新版本。$gitpullgitpush将本地仓库的提交推送到远程仓库。#将本地仓库的分支推送到远程仓库的指定分支$gitpush<远程仓库的别名><本地分支名称>:<远程分支名称>#删除指定远程仓库的分支$gitpush<远程仓库别名>:<远程分支名称>$gitpush<远程仓库别名>--delete<远程分支名称>gitremote操作远程仓库。#列出已有的远程仓库$gitremote#列出远程仓库的详细信息,并在别名后面列出URL地址$gitremote-v$gitremote--verbose#添加一个远程仓库$gitremoteadd<远程仓库的URL地址>#修改远程仓库的别名$gitremoterename<原远程仓库的别名><新别名>#删除指定名称的远程仓库$gitremoteremove<远程的别名warehouse>#修改远程仓库的URL地址$gitremoteset-url<远程仓库的别名><新的远程仓库URL地址>gitreset恢复提交记录。#重置暂存区,但文件不受影响#相当于从暂存区撤回用“gitadd”命令更新到暂存区的内容,可以指定文件#如果这样做不指定commitID,默认为当前HEAD$gitreset[]$gitreset--mixed[]#改变HEAD的指向,undo到指定的commit记录,文件为notmodified$gitreset$gitreset--mixed#改变HEAD的指向,撤销到指定的commit记录,文件没有被修改#相当于调用"gitreset--mixed”命令,再次执行“gitadd”$gitreset--soft#改变HEAD指向,撤销指定的commit记录,文件也被修改$gitreset--hardgitrevert生成一个新的提交来撤销一个提交,所有在这个提交之前的提交都将被保留。#生成一个新的提交来撤销一个提交$gitrevertgitrm删除一个文件或文件夹。#移除跟踪指定的文件,并从本地仓库的文件夹中删除$gitrm<文件路径>#移除跟踪指定的文件夹,并从本地仓库的文件夹中删除$gitrm-r<文件夹路径>#移除tracking指定的文件,将文件保留在本地仓库的文件夹中$gitrm--cachedgitstatus用于显示工作目录和暂存区的状态。使用此命令可以查看哪些更改已暂存,哪些未暂存,以及Git未跟踪哪些文件。#查看本地仓库的状态$gitstatusgitstatus不显示已经提交到项目历史的信息。使用gitlog查看项目历史信息。用于操作标签的gittag命令。#打印所有标签$gittag#添加一个轻量级标签,对commit对象的引用,可以指定之前的commit记录$gittag[]#添加一个note标签,里面有描述信息,你可以指定之前的commit记录$gittag-a-m[]#切换到指定的tag$gitcheckout#查看tag信息$gitshow#删除指定标签$gittag-d<标签名称>#将指定标签提交到远程仓库$gitpush<远程仓库别名><标签名称>#将本地所有标签提交到远程仓库$gitpush<远程仓库的别名>–tags~~本文到此结束,感谢阅读!~学习有趣的知识,认识有趣的朋友,塑造有趣的灵魂!我是〖编程三昧〗的作者汪山人,我的公众号是《编程三昧》,欢迎关注,希望大家多多指教!你来,怀揣期待,我以墨香迎接你!您归来,不分得失,只送回味!知识与技能并重,内功与外功并重,理论与实践两手抓,两手都要用力!