首页 > 技术文章 > git学习笔记(二)

manito890 2018-03-07 21:36 原文

一、创建版本库

版本库,英文repository。可以理解为文件目录,在该目录或子目录下的所有文件,都可以被git管理。每个文件的删除,增加,修改,git都可以追踪管理,还原。

创建版本库非常简单,新建一个目录,或者选择一个有内容的目录。目录名不能使用中文(包括父级目录),否则会报错。

使用git Bash 的shell命令cd 切换到git版本库,输入命令

git init

git版本库创建成功,如想查看,输入命令

ls -ah

注意:所有的版本控制系统只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,对于word,图片,视频等二进制文件的改动,只能知道其文件大小变动,无法追踪变动内容。TXT文件编辑用windows自带的记事本文件会出错(设计缺陷),建议使用notepad++代替。

二、把文件添加到版本库

使用git add命令将文件添加到暂存区

git add readme.txt
##多文件提交可以使用 git add 文件名 文件名或者多次使用git add命令或者git add . 提交所有文件
git commit  -m "提交的描述信息"
如果我们这里不用-m参数的话,git将调到一个文本编译器(通常是vim)来让你输入提交的描述信息
git commit -m "version1.0"

如果你的文件之前已经提交过,但这次的改动还没有进暂存区(Stage),可以使用git commit命令

 

可能一天下来,你对工作树中的许多文档都进行了更新(文档添加、修改、删除),但是我忘记了它们的名字,此时若将所做的全部更新添加到索引中,比较轻省的做法就是:

 

git commit -a -m "提交的描述信息"

 

git commit -am "<message>"

使用git status 命令查询版本库当前状态

$ git status
On branch master
nothing to commit, working directory clean #显示暂存区没有等待提交的文件

我们可以用到git diff命令,查看被修改的部分;用git log查询历史提交信息。

git管理文件示意图:

 

 

帮助理解: 
git commit 命令的-a 选项可只将所有被修改或者已删除的且已经被git管理的文档提交倒仓库中。如果只是修改或者删除了已被Git 管理的文档,是没必要使用git add 命令的。
git add .命令除了能够判断出当前目录(包括其子目录)所有被修改或者已删除的文档,还能判断用户所添加的新文档,并将其信息追加到索引中。
git commit --amend 对于已经修改提交过的注释,如果需要修改,可以借助 git commit --amend 来进行。
  例如 在framework/base 里最新的提交就是 resolving the roaming problem,我现在需要将其改为 resolving the roaming problem for fixing bug 7732
  在 framework/base 下 输入 git commit --amend,就会进入一个文本编辑界面(如下),在注释的地方修改 ,保存然后退出,这样注释就修改了,再重新push.
另外,要注意的问题是,Git 不会主动记录你对文档进行的更新,除非你对它发号施令(比如通过git add命令)
 
文件删除 git rm =rm +git add
rm 将文件的追踪状态改为未追踪,并删除文件。

推荐阅读