创建git仓库
新建文件夹
$ mkdir learngit #新建learngit文件夹
$ cd learngit #进入learngit文件夹
$ pwd #查看当前路径
变成Git可以管理的git仓库
$ git init
把文件添加到git仓库
在learngit文件夹中,新建readme.txt
,内容如下:
Git is a version control system.
Git is free software.
- 添加到git仓库
把readme.txt
文件添加到git仓库
$ git add readme.txt
执行上面的命令,没有任何显示,这就对了,Unix的哲学是“没有消息就是好消息”,说明添加成功。
2. 提交到git仓库
把readme.txt
文件提交给git仓库
$ git commit -m "wrote a readme file"
[master (root-commit) 30ceb9c] wrote a readme file.
1 file changed, 2 insertions(+)
create mode 100644 readme.txt
含义:
1 file changed
:1个文件被改动(我们新添加的readme.txt文件);
2 insertions
:插入了两行内容(readme.txt有两行内容)
可以一次提交很多文件:
$ git add 1.txt
$ git add 2.txt 3.txt
$ git commit -m "add 3 files."
版本比较
git status 查看修改并未提交的文件
现在修改一下readme.txt
的内容,修改成如下:
Git is a distributed version control system.
Git is 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 查看文件修改的内容
$ git diff readme.txt
diff --git a/readme.txt b/readme.txt
index d8036c1..013b5bc 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 free software.
\ No newline at end of file
知道了对readme.txt
修改了什么后,再把它提交到仓库就放心多了,提交修改和提交新文件是一样的两步:
$ git add readme.txt
没有任何输出 ok。
再次查看下仓库状态
$ git status
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: readme.txt
将要被提交的修改包括readme.txt
,放心提交。
$ git commit -m "add distributed"
[master 826c8c0] add distributed
1 file changed, 1 insertion(+), 1 deletion(-)
提交后,我们再用git status
命令看看仓库的当前状态:
$ git status
On branch master
nothing to commit, working tree clean
Git告诉我们当前没有需要提交的修改,而且,工作目录是干净(working tree clean)的。