一、仓库创建

创建一个目录作为工作区,并使用命令初始化为仓库。

方法一

TERMINALbash
mkdir test			# 在当前位置新建一个文件夹,作为工作目录cd test			# 进入到工作目录git init			# 初始化为 Git 仓库

ictstu

方法二

TERMINALbash
git init test01		# 新建一个目录,并将其初始化为 Git 仓库

ictstu

二、克隆远程 Git 仓库到本地

从远程仓库克隆代码到本地。

TERMINALbash
git clone [url]

三、基本配置

配置代码提交时的用户信息,名字和邮箱。

TERMINALbash
# 配置提交代码时的用户信息(全局配置)git config --global user.name "Guangran"git config --global user.email "gr@rsecc.cn"# 配置提交代码时的用户信息(当前仓库有效)git config user.name "Guangran"git config user.email "gr@rsecc.cn"

ictstu

四、提交代码到版本库

新建一个文件并提交到仓库。

TERMINALbash
touch README.md					# 新建一个文件git add README.md				# 将新建的文件提交到暂存区git commit -m "add readme"		# 提交暂存区的代码到仓库,-m 后面引号内的内容为提交说明# 其他用法git add [file1] [file2]						# 提交多个文件git add [dir]								# 提交一个目录git add .									# 提交当前目录下所有内容git add -p									# 对同一个文件的多处变化,实现分次提交git commit [file1] [file2] -m "message"		# 提交暂存区指定文件到仓库

ictstu

五、查看状态及修改

向文件内写入内容,并查看文件状态。

查看文件状态

TERMINALbash
echo "readme" > README.md		# 在文件中写入内容git status						# 查看仓库当前状态

ictstu

比对工作区文件和暂存区文件的区别

TERMINALbash
git diff						# 对比暂存区和工作区的差别

ictstu

查看历史版本

TERMINALbash
git log							# 查看历史版本

ictstu

查看最近的提交日志

TERMINALbash
git reflog						# 查看当前分支的最近几次提交

ictstu

版本回退

新建一个文件,分三次向文件内写入内容并分别提交到仓库。

1. 创建文件并分次提交

TERMINALbash
touch test.txt					# 创建一个新文件# 第一次提交echo "P1" >> test.txtgit add test.txtgit commit -m "p1"# 第二次提交echo "P2" >> test.txtgit add test.txtfgit commit -m "p2"# 第三次提交echo "P3" >> test.txtgit add test.txtgit commit -m "p3"

ictstu

2. 查看文件的提交日志

TERMINALbash
git log test.txt				# 查看文件的提交历史cat test.txt					# 查看文件内容

ictstu

3. 查看文件内容

TERMINALbash
cat test.txt

ictstu

4. 回退文件到上一个版本

TERMINALbash
git reset --hard HEAD^			# 回退到上一个版本,HEAD 代表当前版本;HEAD^ 代表上一个版;HEAD^^ 代表上上个版本,以此类推cat test.txt					# 查看文件内容,文件已回退

ictstu

5. 回退之后再查看一下版本库的状态

TERMINALbash
git log test.txt				# 查看文件的提交历史

ictstu

6. 通过 commit ID 回退到某个版本

TERMINALbash
git reset --hard f4695		# 使用 commit ID 回退版本,需要回退到哪个版本,就是用哪个版本的 commit ID

ictstu

7. 如果 git log 查看不到某个 commit ID 可以使用 git reflog 查看

TERMINALbash
git reflog			# 可以查看到每一次使用过的命令

ictstu

未完待续

本文档持续更新中……