Git学习(Windows)
一、Git简介
Git是目前世界上最先进的分布式版本控制系统(0.o)
二、安装Git
-
Git官网下载:Git - Downloads (git-scm.com)
-
默认安装即可。(默认不会在桌面创建快捷方式,也可以选择将Git添加到桌面上)
-
安装完成后在开始菜单搜索找到“Git”。点击Git Bash或者Git CMD。(Git Gui 是git的图形化界面;Git bash是类似于Linux系统命令行操作界面;Git CMD则类似于window系统命令行操作界面)
-
配置:在命令行输入以下命令
git config --global user.name "Your Name" git config --global user.email "email@example.com"
注意
git config
命令的--global
参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。 -
检查:在路径“C:\Users\用户名”下找到.gitconfig文件,打开可以看到刚刚写入的内容,说明配置成功!
三、创建版本库
-
版本库介绍
版本库又名仓库,英文名repository。可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
-
创建一个空的目录
pwd
命令显示当前目录的绝对路径$ mkdir learngit $ cd learngit $ pwd
-
将目录变成Git可以管理的仓库
ls -ah
可以查看创建的隐藏的.git
目录$ git init $ ls -ah
-
编写一个txt文件
使用
touch
创建文件、vim
编辑文件、cat
查看文件$ touch readme.txt #在readme.txt中添加如下内容(可以使用vim readme.txt进行编辑文本) Git is a version control system. Git is a free software. $ cat readme.txt $ git config --global core.autocrlf false #解决 warning: LF will be replaced by CRLF 的问题
-
提交
第一步,用命令git add
把文件添加到仓库:$ git add readme.txt
第二步,用命令
git commit
告诉Git,把文件提交到仓库:$ git commit -m "wrote a readme file"
git commit
命令,-m
后面输入的是本次提交的说明,可以输入任意内容,这样你就能从历史记录里方便地找到改动记录。为什么Git添加文件需要
add
,commit
一共两步呢?因为commit
可以一次提交很多文件,所以可以多次add
不同的文件。 -
总结
使用git init
命令初始化一个Git仓库。
添加文件到Git仓库分为两步:- 使用命令
git add <file>
,注意此命令可反复使用以添加多个文件。 - 使用命令
git commit -m <message>
,提交。
- 使用命令
四、修改文件并提交
-
修改readme.txt文件
$ cat readme.txt Git is a version control system. Git is a free software. $ vim readme.txt #对文件进行更改 $ cat readme.txt Git is a distributed version control system. Git is a free software.
-
查看仓库当前状态
git status
命令可以让我们时刻掌握仓库当前的状态$ git status On branch master Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: readme.txt no changes added to commit (use "git add" and/or "git commit -a")
上面的命令输出告诉我们,readme.txt被修改过了,但还没有准备提交的修改。
-
查看如何修改
git diff
顾名思义就是查看difference,显示的格式正是Unix通用的diff格式。$ git diff readme.txt diff --git a/readme.txt b/readme.txt index b0354bd..5367626 100644 --- a/readme.txt +++ b/readme.txt @@ -1,2 +1,2 @@ -Git is a version control system. +Git is a distributed version control system. Git is a free software.
可以从上面的命令输出看到,第一行添加了一个
distributed
单词。 -
提交仓库
$ git add readme.txt $ git status On branch master Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: readme.txt no changes added to commit (use "git add" and/or "git commit -a") $ git commit -m "add distributed" [master c2faa8a] add distributed 1 file changed, 1 insertion(+), 1 deletion(-) $ git status On branch master nothing to commit, working tree clean
-
总结
使用git status
命令随时掌握工作区的状态。
如果git status
告知文件被修改过,用git diff
可以查看修改内容。