环境:万年windows10。。(期待用上Linux那一天)
作为一个小白,居然没有使用过Git和GitHub,真是丢人。。
Git称为分布式版本控制系统,效果如下:
的确感觉很屌
分布式的好处在于什么呢:分布式版本控制的每个节点都是完整仓库,既不用联网,也不用担心其中任意主机出问题而导致版本损坏
Git安装
首先下载Git-2.15.1.2-64-bit.exe这个文件,然后一路点点点安装;
安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功
然后
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
这个用户名和邮箱之前已经在Github上注册好了。。
创建版本库
进入到想要装仓库的目录下,执行
然后通过git init
命令把这个目录变成Git可以管理的仓库:
$ git init Initialized empty Git repository in /Users/michael/learngit/.git/
把文件添加到版本库
首先注意的是不要用记事本或者word来编辑文本文件,直接用notepad++就好
开始在learngit的目录下创建一个readme.txt,输入
Git is a version control system. Git is free software.
然后把文件添加到仓库
$ git add readme.txt
再把文件提交到仓库
$ git commit -m "wrote a readme file" [master (root-commit) cb926e7] wrote a readme file 1 file changed, 2 insertions(+) create mode 100644 readme.txt
-m
后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
为什么Git添加文件需要add
,commit
一共两步呢?因为commit
可以一次提交很多文件,所以你可以多次add
不同的文件,比如:
$ git add file1.txt $ git add file2.txt file3.txt $ git commit -m "add 3 files."
修改文件
修改文件内容如下:
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 checkout -- <file>..." to discard changes in working directory) # # modified: readme.txt # no changes added to commit (use "git add" and/or "git commit -a")
git status
命令可以让我们时刻掌握仓库当前的状态,上面的命令告诉我们,readme.txt被修改过了,但还没有准备提交的修改。
git diff 命令可以查看具体的修改内容
$ git diff readme.txt diff --git a/readme.txt b/readme.txt index 46d49bf..9247db6 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.
知道了对readme.txt作了什么修改后,再把它提交到仓库就放心多了,提交修改和提交新文件是一样的两步,第一步是git add
:
$ git add readme.txt
同样没有任何输出。在执行第二步git commit
之前,我们再运行git status
看看当前仓库的状态:
$ git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # modified: readme.txt #
接下来就是提交
$ git commit -m "add distributed" [master ea34578] add distributed 1 file changed, 1 insertion(+), 1 deletion(-)