您的位置:首页 > 其它

Git入门(3)-添加及修改

2016-07-19 19:11 232 查看
Git入门(3)-添加及修改
一.把文件添加到版本库:

首先这里再明确一下,所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。版本控制系统可以告诉你每次的改动,而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB,但到底改了啥,版本控制系统不知道,也没法知道。

因为文本是有编码的,比如中文有常用的GBK编码,日文有Shift_JIS编码,如果没有历史遗留问题,强烈建议使用标准的UTF-8编码,所有语言使用同一种编码,既没有冲突,又被所有平台所支持。

Windows用户注意:不要使用windows自带的记事本来编辑文件,因为用本地的记事本在编译的时候会报语法错误,建议下载一个Notepad++代替笔记本,是免费的,下载完成后,在格式选项中选择UTF-8无BOM就可以了。

首先,先编写一个readme.txt文件,内容如下:

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

注意: 一定要放在你当时创建的文件夹下(learngit),如果不放的话,git是找不到的。

第一步:用git add告诉Git,把文件添加到仓库:

$ git add readme.txt


当你敲完回车,发现没有任何显示,这说明你添加成功了。
第二步: 用git commit命令告诉Git,把文件提交到仓库:

$ 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指的是你这次提交的说明,最好填写一些有意义的内容,方便于你以后查找。

二:修改readme.txt文件:

这是之前我们添加好的readme.txt内容:

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


现在我们给它修改成下面这样:

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

 我们会发现我们多加了一个”distributed“,然后我们运行 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 add和git commit就可以完成修改了。但是还会有一种情况就是,你修改完之后,过了一个星期后再来提交,这时你已经记不清你怎么修改的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.

看完怎么修改的之后,我们再去提交:

$ git add readme.txt

$ git commit -m "add distributed"
[master ea34578] add distributed
1 file changed, 1 insertion(+), 1 deletion(-)


提交后,我们可以看看仓库当前的状态 git status:

$ git status
# On branch master
nothing to commit (working directory clean)


总结:我们可以用git status去查看仓库的状态,git diff去查看文件是怎么修改的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: