【Git入门之四】操作项目

1.查看操作日记

《git log》用于查看操作日记详情。因为Git是分布式的,采用SHA1这样的版本号可有效的防止版本冲突。

[cpp] view plaincopy

  1. #查看操作日记,底下那串长长的数据就是SHA1 ID,表示当前版本号  

  2. $ git log  

  3. commit aea0365712908805bc28540b4db9fd2f15360a8b  

  4. Author: Jacky <[email protected]>  

  5. Date:   Fri Sep 27 15:15:48 2013 +0800  

  6.   

  7.     init AddFiles  


2.修改项目内容

[cpp] view plaincopy

  1. #修改JackyData01内容  

  2. $ echo "HelloGit" > JackyData01  


3.查看当前状态

[cpp] view plaincopy

  1. #查看版本库状态,可以看到红色的JackyData01被修改过  

  2. $ git status  

  3. # On branch master  

  4. # Changes not staged for commit:  

  5. #   (use "git add <file>..." to update what will be committed)  

  6. #   (use "git checkout -- <file>..." to discard changes in working directory)  

  7. #  

  8. #       modified:   Jackydata01  

  9. #  

  10. no changes added to commit (use "git add" and/or "git commit -a")  


4.提交修改

这里使用《git commit -a -m “提交信息”》可以省掉先放到暂存区的操作,直接提交。

[cpp] view plaincopy

  1. #直接提交修改  

  2. $ git commit -a -m "modify JackyData01"  

  3. [master cba8800] modify JackyData01  

  4.  1 file changed, 1 insertion(+), 2 deletions(-)  


5.查看操作日记

还用《git log》,不过这次我们给它添加一个参数,这样浏览起来会方便很多。

[cpp] view plaincopy

  1. #单行显示,只显示版本号和备注  

  2. $ git log --pretty=oneline  

  3. cba8800f2daaf4075a506b6d763798ea15ba11cc modify JackyData01  

  4. aea0365712908805bc28540b4db9fd2f15360a8b init AddFiles  


6.查看不同

《git diff》用于比较上一次提交和当前版本的差异。

[cpp] view plaincopy

  1. #修改JackyData02的内容为HelloGit  

  2. $ echo "HelloGit" > JackyData02  

  3.   

  4. #使用Git diff查看差异,可以看到HelloJacky被删除了,而HelloGit被添加了  

  5. $ git diff  

  6. diff --git a/JackyData02 b/JackyData02  

  7. index 85d5336..1da19b8 100644  

  8. --- a/JackyData02  

  9. +++ b/JackyData02  

  10. @@ -1 +1 @@  

  11. -HellloJacky  

  12. +HelloGit  


7.提交修改并打开Git GUI界面

《gitk --all》用于打开Git的GUI界面。

[cpp] view plaincopy

  1. #提交修改  

  2. $ git add . && git commit -m "modify JackyData02"  

  3. [master a5f6601] modify JackyData02  

  4.  1 file changed, 1 insertion(+), 1 deletion(-)  

  5.   

  6. #打开GUI界面  

  7. $ gitk --all  

【Git入门之四】操作项目_第1张图片


8.修改提交信息

使用《git commit --amend》可以修改上次提交的信息。

[cpp] view plaincopy

  1. #重新修改上次提交信息  

  2. $ git commit --amend -m "amend modify JackyData02"  

  3. [master a25c588] amend modify JackyData02  

  4.  1 file changed, 1 insertion(+), 1 deletion(-)  

  5.   

  6. #最后一次的提交信息被修改  

  7. $ git log --pretty=oneline  

  8. a25c58804cb3f4045564fc0ec6a4e6eb4dae7072 amend modify JackyData02  

  9. cba8800f2daaf4075a506b6d763798ea15ba11cc modify JackyData01  

  10. aea0365712908805bc28540b4db9fd2f15360a8b init AddFiles  

9.删除项目内容

删除了某一项版本控制下的内容,使用《git add .》无法在索引中删除该文件

[cpp] view plaincopy

  1. #移除JackyData03文件  

  2. $ rm JackyData03  

  3.   

  4. #使用git add . 提示警告,同时调用git status,发现并没有正常提交  

  5. $ git add . && git commit -m "remove JackyData03"  

  6. warning: You ran 'git add' with neither '-A (--all)' or '--ignore-removal',  

  7. whose behaviour will change in Git 2.0 with respect to paths you removed.  

  8. Paths like 'JackyData03' that are  

  9. removed from your working tree are ignored with this version of Git.  

  10.   

  11. 'git add --ignore-removal <pathspec>', which is the current default,  

  12.   ignores paths you removed from your working tree.  

  13.   

  14. 'git add --all <pathspec>' will let you also record the removals.  

  15.   

  16. Run 'git status' to check the paths you removed from your working tree.  

  17.   

  18. # On branch master  

  19. # Changes not staged for commit:  

  20. #   (use "git add/rm <file>..." to update what will be committed)  

  21. #   (use "git checkout -- <file>..." to discard changes in working directory)  

  22. #  

  23. #       deleted:    JackyData03  

  24. #  

  25. no changes added to commit (use "git add" and/or "git commit -a")  


需使用《git commit -a -m “提交信息”》或者《git add -A . git commit -m “提交信息”》才能达到删除的目的。

[cpp] view plaincopy

  1. #使用git commit -a -m提交删除  

  2. $ git commit -a -m "remove JackyData03"  

  3. [master c5c83cf] remove JackyData03  

  4.  1 file changed, 1 deletion(-)  

  5.  delete mode 100644 JackyData03  


你可能感兴趣的:(【Git入门之四】操作项目)