赞
踩
如果我们已经将Git安装好了,在电脑上屏幕上右击鼠标,就可以显示Git GUI Here
和Git Bash Here
,我们选择第二个打开,就可以进行各种操作了。
git --version
clear
设置用户名:
git config --global user.name "用户名"
设置邮箱:
git config --global user.email "邮箱"
版本库就是“仓库”,英文名repository,可以理解为一个目录,这个目录里面的所有文件都可以被Git管理,文件的修改,删除Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。
首先,创建一个文件夹,文件夹可以随便创建,不限位置,这里我以电脑E盘下创建目录git_s为例,来进行解释说明。
此时git还并不知道代码存入了这个文件夹中,因此我们接下来应该告诉git我们将代码存入了这个文件夹中,所以我们接下来在该文件夹中打开git终端Git Bash Here
,即在该文件夹中右击鼠标选择Git Bash Here
,或者使用以下命令。
常用命令介绍:
cd # 进入某个目录
dir # 显示当前文件夹下的目录和文件
mkdir # 创建一个文件夹
pwd # 显示当前的目录路径
cd.. # 返回上一级
初始化本地仓库:
git init
这时候我们发现图片的提示中,我们好像创建了一个.git
的目录,但是我们并没有在文件夹中发现它,这是因为带.
的目录默认是隐藏的,我们可以通过ll -la
命令来查看:
或者直接查看隐藏的项目也可以查看:
.git
目录是Git来跟踪管理版本的,不能随意修改目录里面的文件,否则,会破坏git仓库。那么.git
目录下面有什么呢,我们可以进入.git
目录下,使用ll
命令来查看具体内容。
注意:所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,Git也不列外,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽能也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从1kb变成2kb,但是具体改了什么,版本控制也不知道。
以在E:\git_s目录下创建readme.txt文件为例,来说明操作的命令。
为readme.txt编写内容:橘猫吃不胖。将创建的文件添加到暂存区,然后提交到仓库,命令如下:
git add 文件名 #将文件提交到暂存区
git commit -m "注释内容" [文件名] #将暂存区文件提交到本地仓库,注释可以用来说明当前
git add . #将本地修改过的文件且已经追踪的文件添加到本地的暂存区
注意:
git add
和git commit
命令才可以将文件提交到本地仓库git status # 检查当前文件状态
git给出提示:nothing to commit, working tree clean,表示没有文件要被提交。如果修改readme.txt的文件,在文件中加入一行:今天天气真好;然后重新使用git status
检查状态:
修改文件后,通过命令git status
发现,文件已经被修改,但是未提交,因为文件被标红提示modified,这就表示我们需要重新将readme.txt文件提交到暂存区git add 文件名
,再提交到本地库git commit -m "注释内容"
。
如果要比对文件的差异,可以通过以下命令查看:
git diff # 查看文件修改的内容
该命令可以比较所有的工作区的文件和暂存区的文件。
如果要比对暂存区和本地库中的文件,使用命令:
git diff HEAD/索引号 文件名
检查无误后,继续提交修改后的文件,与上面命令相同,或者使用以下命令。
git commit -am '注释' # -a表示add,提交已经追踪过且修改了的文件
git log # 获得历史修改记录
git log --pretty=oneline # 使记录只显示主要的内容,一行显示
git log --oneline # 更加简洁的方式
可以看到这种方式下,索引显示了前几个,更加简洁的显示信息。还有一个命令可以查看历史变更信息,命令如下:
git reflog # 查看历史变更记录
可以看出比起上一种方式,该方式多了HEAD@{数字}
,其中数字表示回退到该版本需要回退多少步
cat 文件名 # 查看文件内容
git reset --hard HEAD^ # 回退到上一个版本
可以看到内容已经回退到上一个版本,通过git log
查看修改记录,发现最近的一次的记录已经看不到了。
如果想回到最新的版本,可以通过如下命令进行回退:
git reset --hard 版本号 # 去到该版本号对应的版本
如果要回退到上上个版本,可以使用git reset --hard HEAD^^
命令,但是这样稍显麻烦,如果回退到100个版本之前,只需要执行这个命令即可:git reset --hard HEAD~100
。
git reset --soft 版本号 # 撤回到该版本的代码
执行该命令之后,远程库的push记录没有了,撤回的push代码会暂存在本地,接着把代码推送到远程库:
git push 远程库地址 远程库分支名
删除工作区中的文件,一个方式是可以右键删除,还有一种方式是使用命令:
rm 文件名
但是这样删除了工作区中的文件,暂存区和本地库中可能还会有一些记录,因此我们可以首先将暂存区的记录删除掉,使用命令:
git add 文件名
由于该文件已经被删掉了,所以使用git add
执行的就是一个删除操作了,这样就可以将暂存区的文件记录删掉。
再次使用git status
查看文件的状态,发现显示了deleted: readme.txt
:
如果我们到这一步就后悔了,想要恢复暂存区中的数据,那么我们回退到没有删除之前的版本就可以了,首先使用git reflog
查看版本的历史记录,我们发现上一个版本是4b84141
,那我们回退到该版本即可:
git reset --hard 版本号
同理,如果我们再执行一个git commit
命令,也可以将本地库中的记录删除掉:
git commit -m "注释" 文件名
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。