当前位置: 代码迷 >> 综合 >> Git入门(3)-添加及修改
  详细解决方案

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

热度:95   发布时间:2023-10-20 02:33:57.0
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 file1 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 distributed1 file changed, 1 insertion(+), 1 deletion(-)

提交后,我们可以看看仓库当前的状态 git status:
$ git status
# On branch master
nothing to commit (working directory clean)

总结:我们可以用git status去查看仓库的状态,git diff去查看文件是怎么修改的。

  相关解决方案