Git的学习

来源:互联网 发布:网络购物合同纠纷案由 编辑:程序博客网 时间:2024/05/24 06:13

学习的步骤是按照廖雪峰老师的网站上的Git教程走的,仅作个人记录,更详细的学习请移步上述链接。

一、安装git

初步学习是在Win上开发,故而选择msysgit,下载地址https://git-for-windows.github.io下载完成后选择一下安装路径,之后的一路next,全部默认安装。安装后在开始菜单里找到“Git”->“Git Bash”来设置全局配置:

$ git config --global user.name "Your Name"$ git config --global user.email "email@example.com"

这里写图片描述

二、创建版本库

我创建一个空文件夹在以下目录:D:\Disk F\git-test
在Git Bash中
这里写图片描述
有几个命令和在linux下一样,pwd 、ls 、cd 、cd.. 、cd / 和tab补全。
在这个文件下新建一个txt文本(名为test.txt)并用notepad编写:

Git is a version control system.
Git is free software.

并保存。
在GitBash中,使用廖雪峰老师原话:

如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。
通过git init命令把这个目录变成Git可以管理的仓库
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/
然后

 git add test.txt git commit -m "wrote a test file"

这里写图片描述

原话:

简单解释一下git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。嫌麻烦不想输入-m “xxx”行不行?确实有办法可以这么干,但是强烈不建议你这么干,因为输入说明对自己对别人阅读都很重要。git commit命令执行成功后会告诉你,1个文件被改动(我们新添加的readme.txt文件),插入了两行内容(readme.txt有两行内容)。为什么Git添加文件需要add,commit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:

 $ git add file1.txt$ git add file2.txt file3.txt$ git commit -m "add 3 files."

现在总结一下今天学的两点内容:
初始化一个Git仓库,使用git init命令。
添加文件到Git仓库,分两步:
第一步,使用命令git add ,注意,可反复多次使用,添加多个文件;

第二步,使用命令git commit,完成。

三、git status和git diff

在文本中新增:这里写图片描述
接着git status:

my@Edison-TP MINGW64 /d/Disk F/git-test (master)$ git statusOn branch masterChanges 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:   test.txtno changes added to commit (use "git add" and/or "git commit -a")

可知,test.txt被修改了但是并没提交,接着git diff test.txt:

my@Edison-TP MINGW64 /d/Disk F/git-test (master)$ git diff test.txtdiff --git a/test.txt b/test.txtindex 46d49bf..1e7bfd5 100644--- a/test.txt+++ b/test.txt@@ -1,2 +1,3 @@ Git is a version control system. Git is free software.+Git is adorable.

接着:

my@Edison-TP MINGW64 /d/Disk F/git-test (master)$ git add test.txtmy@Edison-TP MINGW64 /d/Disk F/git-test (master)$ git statusOn branch masterChanges to be committed:  (use "git reset HEAD <file>..." to unstage)        modified:   test.txtmy@Edison-TP MINGW64 /d/Disk F/git-test (master)$ git commit -m "ado"[master 6bf9cea] ado 1 file changed, 1 insertion(+)my@Edison-TP MINGW64 /d/Disk F/git-test (master)$ git statusOn branch masternothing to commit, working tree clean

原话:

Git告诉我们当前没有需要提交的修改,而且,工作目录是干净(working directory clean)的。小结:要随时掌握工作区的状态,使用git status命令。如果git status告诉你有文件被修改过,用git diff可以查看修改内容。

待续。。。