Git 分布式版本控制系统(序章1) |
## Linux 下安装 Git
## Git命令大全
windows和linux通用
安装完 Git 后,需要进行配置,如姓名、Email 等
git config --global user.name "你的名字"
git config --global user.email 你的邮箱名@主机名.域名
# 例如
git config --global user.name "San Zhang"
git config --global user.email [email protected]
设置 Git 默认使用的文本编辑器,一般可能会是 Vi 或者 Vim。如果你有其他偏好,可以进行重新设置:
git config --global core.editor 文本编辑器名字
还有一个比较常用的是,在解决合并冲突时使用哪种差异分析工具。
git config --global merge.tool 分析工具名字
要检查已有的配置信息,可以使用 git config --list 命令:。有时候会看到重复的变量名,那就说明它们来自不同的配置文件(比如 /etc/gitconfig 和~/.gitconfig),不过最终 Git 实际采用的是最后一个。也可以直接查阅某个环境变量的设定,只要把特定的名字跟在后面即可,像这样:
git config user.name
## Git 创建仓库
1.首先用Git Bash打开D盘
$ cd D:
2.在D盘中创建一个目录
(空文件夹)MyGit
$ mkdir learngit
3. 打开创建的空目录
输入pwd可以查看当前目录的地址可以发现,目录位于D盘下的MyGit文件
$ pwd
4.把目录变成可以管理的仓库
$ git init
这样仓库就建好了,此时可以发现learngit中多了一个.git它就是用来跟踪和管理仓库中的文件。
## 仓库中添加文件
git可以跟踪文本文件的改动,比如txt,代码等,会告知你在第几行添加了什么文字,在第几行改动什么单词,但是git无法跟踪word文件,所以这里建议都使用VS code来作为文本记录工具。下载安装vs code,然后新建一个readme.txt文件并将其保存到learngit文件中去。
在readme文件中键入几句内容:
git is a version control system
git 是一个可以免费使用的软件
$ sudo apt git
vs code安装指南
VScode安装教程
把文件添加到仓库中
$ git add readme.txt
把文件提交到仓库中
$ git commit -m "wrote a readme file"
git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
git commit命令执行成功后会告诉你,1 file changed:1个文件被改动(我们新添加的readme.txt文件);3 insertions:插入了两行内容(readme.txt有两行内容)。为什么Git添加文件需要add,commit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:
$ git add file1.txt
$ git add file2.txt
$ git add file3.txt
$ git commit -m "add 3 files."
## 查看修改文件内容
接下来我们在vs code 中对readme文件进行内容的修改:
git is a version control system
git 是一个可以免费使用的软件,并且使用的人很多。
$ cd D:
然后运行:
$ git status
git status表示查看当前仓库的状态,git status告诉我们,将要被提交的修改包括readme.txt,下一步,就可以放心地提交了git commit。提交后,我们再用git status命令看看仓库的当前状态。
上面的命令输出告诉我们,readme.txt被修改过了(modified: readme.txt
),但还没有准备提交的修改(no changes added to commit)。虽然Git告诉我们readme.txt被修改了,但如果能看看具体修改了什么内容,自然是很好的。比如你休假两周从国外回来,第一天上班时,已经记不清上次怎么修改的readme.txt,所以,需要用git diff这个命令看看:
$ git diff readme.txt \\查看具体被修改的内容
git diff顾名思义就是查看difference,可以从上面的命令输出看到,我们原本的内容(红色字体),和修改后的内容(绿色字体)的对比。知道了对readme.txt作了什么修改后,再把它提交到仓库就放心多了。提交修改和提交新文件是一样的两步:
$ git add readme.txt
$ git status
$ git commit -m "add word and code"
$ git status
现在我们已经学会了修改文件并将修改后的文件提交到Git库中。
## 检查修改次数、时间和修改人
上述只是修改了一次,当我们对一个文件进行多次修改,并存到Git库中去。例如:当我们在修改一次readme的内容:
git is a version control system,that distributed
git 是一个可以免费使用的软,并且使用的人很多,用起来也方便
$ cd D:
在实际工作中,我们脑子里怎么可能记得一个几千行的文件每次都改了什么内容,不然要版本控制系统干什么。版本控制系统肯定有某个命令可以告诉我们历史记录,在Git中,我们用git log命令查看:
$ git log
$ git log --pretty=oneline // 只显示修改
## 返回历史版本
当我们感觉当前修改的版本不如历史版本的时候,我们想让readme文件回到上一步应该如何处理?
首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交cbd208f2ab81415a2315365c87a303982a4a4fae,上一个版本就是HEAD^, 对应的edaafe8159efb2dd00628dcc80c1a69c51ea38ca,网上100个版本写成HEAD~100。
$ git reset --hard HEAD^
那么现在问题来了,我感觉这个HEAD^的版本不如HEWD的版本好,我想回到刚才那个版本怎么办。如果命令窗口没关闭的话找HEAD对应的版本号。版本号是唯一的。例子中HEAD对应的版本号是cbd208f2ab81415a2315365c87a303982a4a4fae,取前几位就好了,Git会自己找。
$ git reset --hard cbd208
那么命令窗口被关闭咋办?
Git提供了一个命令git reflog可以记录你的每一次命令(版本号):
$ git reflog
还可以看见每一次的(commit)操作信息,然后再使用get reset指令就可以回来了。