当前位置: 代码迷 >> 综合 >> git 文件添加、变更的提交
  详细解决方案

git 文件添加、变更的提交

热度:62   发布时间:2023-09-19 00:25:20.0

我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容:


  
[html] view plaincopy
  1. Git is a distributed version control system.  
  2. Git is free software.  

现在,运行Git status命令看看结果:


  
[html] view plaincopy
  1. $ git status  
  2. # On branch master  
  3. # Changes not staged for commit:  
  4. #   (use "git add <file>..." to update what will be committed)  
  5. #   (use "git checkout -- <file>..." to discard changes in working directory)  
  6. #  
  7. #    modified:   readme.txt  
  8. #  
  9. no changes added to commit (use "git add" and/or "git commit -a")  

git status命令可以让我们时刻掌握仓库当前的状态,上面的命令告诉我们,readme.txt被修改过了,但还没有准备提交的修改。

虽然Git告诉我们readme.txt被修改了,但如果能看看具体修改了什么内容,自然是很好的。比如你休假两周从国外回来,第一天上班时,已经记不清上次怎么修改的readme.txt,所以,需要用git diff这个命令看看:


  
[html] view plaincopy
  1. $ git diff readme.txt   
  2. diff --git a/readme.txt b/readme.txt  
  3. index 46d49bf..9247db6 100644  
  4. --- a/readme.txt  
  5. +++ b/readme.txt  
  6. @@ -1,2 +1,2 @@  
  7. -Git is a version control system.  
  8. +Git is a distributed version control system.  
  9.  Git is free software.  

git diff顾名思义就是查看difference,显示的格式正是Unix通用的diff格式,可以从上面的命令输出看到,我们在第一行添加了一个“distributed”单词。

知道了对readme.txt作了什么修改后,再把它提交到仓库就放心多了,提交修改和提交新文件是一样的两步,第一步是git add:

$ git add readme.txt

同样没有任何输出。在执行第二步git commit之前,我们再运行git status看看当前仓库的状态:


  
[html] view plaincopy
  1. $ git status  
  2. # On branch master  
  3. # Changes to be committed:  
  4. #   (use "git reset HEAD <file>..." to unstage)  
  5. #  
  6. #       modified:   readme.txt  
  7. #  

git status告诉我们,将要被提交的修改包括readme.txt,下一步,就可以放心地提交了:


  
[html] view plaincopy
  1. $ git commit -m "add distributed"  
  2. [master ea34578] add distributed  
  3.  1 file changed, 1 insertion(+), 1 deletion(-)  

提交后,我们再用git status命令看看仓库的当前状态:


  
[html] view plaincopy
  1. $ git status  
  2. # On branch master  
  3. nothing to commit (working directory clean)  

Git告诉我们当前没有需要提交的修改,而且,工作目录是干净(working directory clean)的。

小结

  • 要随时掌握工作区的状态,使用git status命令。

  • 如果git status告诉你有文件被修改过,用git diff可以查看修改内容。


  相关解决方案