Git学习笔记(一)

来源:互联网 发布:python 运行环境 编辑:程序博客网 时间:2024/06/10 15:51

Git学习笔记(一)

  • Git学习笔记一
    • 闲言碎语
      • Git是什么
      • Git与其他的VCS的区别
      • Git的三个状态
    • 学习笔记
      • 准备工作
      • 添加文件
      • 更改文件
      • 提交更改

闲言碎语

Git是什么

一个版本控制系统(VCS,Version Control System)

Git与其他的VCS的区别

快照,而不是差异

img
img

Git的三个状态

imh

学习笔记

准备工作

根据《Pro Git》所说,在你安装Git后首先应该设置用户名与邮箱

$git config --global user.name "John Doe"$git config --global user.email johndoe@example.com

句首的$为提示符(Prompt),不是自己键入的

然后是设置文本编辑器

$git config --global core.edit vim

教程里是Emacs~

其实我都不太会用~

之后可以用

$git config --list

查看设置,用

$git config -e

使用文本编辑器修改设置

添加文件

为了开始用Git记录(Track)一个已存在的项目,首先需要进入到项目所在的文件夹,然后输入

$git init

进行初始化

这个操作会在目录下创建一个名为.git的子文件夹,里面包含了所有必要的仓库文件,也就是一个Git仓库的骨架

接下来使用

$git add <FILE>

$git add *$git add *.c$git add README

添加文件,后面可以用通配符*,但不支持正则表达式

同时,也可以用

$git clone [url]

获得一份别人仓库的拷贝

更改文件

给出《Pro Git》中对于文件状态的叙述:
这里写图片描述

添加/更改文件后,可以用

$git status

查看各文件处于什么状态

如果在之后打上-s,则可以看到各文件状态的一个简短描述,比如下面就是一种

$ git status -s M README MM Rakefile A  lib/git.rb M  lib/simplegit.rb?? LICENSE.txt

未被记录的文件有个??标记,加入到暂存区域(Staging Area)的新文件有一个A,修改过的文件有一个M。有两列标记,左列的标记指示暂存后的文件,右边的标记指示的是修改后的文件。以上面这个胃里,README在工作目录里更改过但是还没有暂存,lib/simplegit.rb更改并暂存了,Rakefile更改后暂存了,但是在暂存后又更改过,所以这个文件的改变在暂存/非暂存中都发生了。

同时可以通过更改.gitignore文件来声明一些不同步的文件,如下例中的.gitignore文件

# no .a files *.a# but do track lib.a, even though you're ignoring .a files above !lib.a# only ignore the root TODO file, not subdir/TODO/TODO # ignore all files in the build/ directory build/# ignore doc/notes.txt, but not doc/server/arch.txt doc/*.txt# ignore all .txt files in the doc/ directorydoc/**/*.txt

除了status之外,还可以使用

$git diff

查看暂存与未暂存的更改。

如果想要查看下次提交(commit)会改变的文件(即暂存的文件),使用命令

$git diff --staged

提交更改

输入

$git commit

即可完成对staged file的提交,这次的修改也就完成,与此同时,也常用

$git commit -m "Comit Message"

附加上此次提交的信息

commit还有更多、更丰富的选项可选,具体的就看文档吧