Git基本操作1。Git配置 安装完Git软件后,需要我们做一下全局的配置工作,如:用户名、邮箱等。 命令:gitconfig 设置用户名命令:gitconfigglobaluser。nameyourname 设置邮箱命令:gitconfigglobaluser。emailyouremail 其中,global指定为全局配置,不指定该参数,则为当前所在仓库配置。 查看配置:gitconfigl2。版本库操作 命令 说明 gitinit 初始化仓库 gitclone 拷贝一份远程仓库,也就是下载一个项目。2。1创建版本库 在本地创建版本库,需要使用gitinit命令。 首先,我们需要新建一个存放版本库的文件夹,然后进入到该目录所在路径,执行如下命令,格式为:gitinit 最后查看文件夹,可以看到包含有。git子文件夹,说明创建版本库成功了。 也可以在执行gitinit命令时指定一个文件夹作为版本库。格式为:gitinit文件夹2。2克隆版本库 克隆版本库是指从现有Git版本库中拷贝项目。 克隆版本库使用如下命令,格式为:gitclone版本库 如果我们需要克隆到指定的目录,可以使用以下命令格式:gitclone版本库本地目录 如:克隆远程仓库gitclonehttp:xxx。xxx。xxx。xxxxxxxxxxxxxxx。gitmy3。版本库的提交与修改 命令 说明 gitadd 添加文件到暂存区 gitstatus 查看版本库当前的状态,显示有变更的文件。 gitdiff 比较文件的不同,即暂存区和工作区的差异。 gitcommit 提交暂存区到本地仓库。 gitreset 回退版本。 gitrm 删除工作区文件。 gitmv 移动或重命名工作区文件。3。1添加文件 添加一个或多个文件到暂存区:gitaddfile1file2。。。。。。 添加指定目录到暂存区,包括子目录:gitadddirectory 添加当前目录下的所有文件到暂存区:gitadd。3。2查看版本库状态 查看在我们上次提交之后是否有对文件进行再次修改。格式为:gitstatus〔s〕 s参数可以帮助我们获得比较简短的显示结果。 如:我们在一个版本库中所在目录中增加一个Unit1。pas文件,然后执行如下命令:gitadd。gitstatusOnbranchmasterYourbranchisaheadoforiginmasterby1commit。(usegitpushtopublishyourlocalcommits)Changestobecommitted:(usegitrestorestagedfile。。。tounstage)newfile:Unit1。pasgitstatussAUnit1。pas3。3比较差异比较文件的不同,即比较文件在暂存区和工作区的差异显示已写入暂存区和已经被修改但尚未写入暂存区文件的区别 显示暂存区和工作区的差异:gitdifffile 显示暂存区和上一次提交(commit)的差异:gitdiffcachedfile或gitdiffstagedfile 显示两次提交之间的差异:gitdifffirstbranch。。。secondbranch3。4提交 将暂存区内容添加到本地仓库中。 提交暂存区到本地版本库中:gitcommitmmessage message可以用于描述提交的信息。 提交暂存区的指定文件到版本库区:gitcommit〔file1〕〔file2〕。。。mmessage 修改后直接提交:gitcommita a参数设置修改文件后不需要执行gitadd命令,直接来提交。 如:我们在上面的命令基础上进行提交gitcommitm1811〔master138882a〕18111filechanged,40insertions()createmode100644Unit1。pas 接下来,我们对Unit1。pas文件进行修改,然后进行文件比较:gitdiffdiffgitaUnit1。pasbUnit1。pasindexb9f723c。。acb06c6100644aUnit1。pasbUnit1。pas26,726,6implementationprocedureTForm1。FormKeyDown(Sender:TObject;varKey:Word;Shift:TShiftState);begin这里是注释Label1。Caption:;ifShift〔ssShift〕thenLabel1。Caption:Shift;3。4回退 gitreset命令用于回退版本,可以指定退回某一次提交的版本。 gitreset命令语法格式如下:gitresetsoftmixedhardHEADfilemixed为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。soft参数用于回退到某个版本hard参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交。HEAD说明:HEAD表示当前版本HEAD上一个版本HEAD上上一个版本HEAD上上上一个版本以此类推。。。 可以使用数字表示HEAD0表示当前版本HEAD1上一个版本HEAD2上上一个版本HEAD3上上上一个版本以此类推。。。file指定file参数,表示只针对该文件进行版本回退。3。5删除文件 gitrm命令用于删除文件。 如果只是简单地从工作目录中手工删除文件,运行gitstatus时就会在Changesnotstagedforcommit的提示。所以,在git环境下一定要使用git的删除文件操作。 gitrm删除文件有以下几种形式: 将文件从暂存区和工作区中删除:gitrmfile 如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项f。gitrmffile 如果想把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用cached选项即可:gitrmcachedfile 可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子目录和文件:gitrmr3。6移动或重命名文件 gitmv命令用于移动或重命名一个文件、目录或软连接。gitmvfilenewfile 如果新文件名已经存在,但还是要重命名它,可以使用f参数:gitmvffilenewfile