首页 > 代码库 > 【Git入门之四】操作项目

【Git入门之四】操作项目

【Git入门之四】操作项目 - JackyStudio - 博客频道 - CSDN.NET

1.查看操作日记

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

[cpp]?view
plaincopy
?
  1. #查看操作日记,底下那串长长的数据就是SHA1?ID,表示当前版本号??
  2. $Snbsp;git?log??
  3. commit?aea0365712908805bc28540b4db9fd2f15360a8b??
  4. Author:?Jacky?<fusijie@vip.qq.com>??
  5. Date:???Fri?Sep?27?15:15:48?2013?+0800??
  6. ??
  7. ????init?AddFiles??



2.修改项目内容

[cpp]?view
plaincopy
?
  1. #修改JackyData01内容??
  2. $Snbsp;echo?"HelloGit"?>?JackyData01??

?

3.查看当前状态

[cpp]?view
plaincopy
?
  1. #查看版本库状态,可以看到红色的JackyData01被修改过??
  2. $Snbsp;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. $Snbsp;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. $Snbsp;git?log?--pretty=oneline??
  3. cba8800f2daaf4075a506b6d763798ea15ba11cc?modify?JackyData01??
  4. aea0365712908805bc28540b4db9fd2f15360a8b?init?AddFiles??



6.查看不同

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

[cpp]?view
plaincopy
?
  1. #修改JackyData02的内容为HelloGit??
  2. $Snbsp;echo?"HelloGit"?>?JackyData02??
  3. ??
  4. #使用Git?diff查看差异,可以看到HelloJacky被删除了,而HelloGit被添加了??
  5. $Snbsp;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. $Snbsp;git?add?.?&&?git?commit?-m?"modify?JackyData02"??
  3. [master?a5f6601]?modify?JackyData02??
  4. ?1?file?changed,?1?insertion(+),?1?deletion(-)??
  5. ??
  6. #打开GUI界面??
  7. $Snbsp;gitk?--all??
技术分享

?

8.修改提交信息

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

?

[cpp]?view
plaincopy
?
  1. #重新修改上次提交信息??
  2. $Snbsp;git?commit?--amend?-m?"amend?modify?JackyData02"??
  3. [master?a25c588]?amend?modify?JackyData02??
  4. ?1?file?changed,?1?insertion(+),?1?deletion(-)??
  5. ??
  6. #最后一次的提交信息被修改??
  7. $Snbsp;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. $Snbsp;rm?JackyData03??
  3. ??
  4. #使用git?add?.?提示警告,同时调用git?status,发现并没有正常提交??
  5. $Snbsp;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. $Snbsp;git?commit?-a?-m?"remove?JackyData03"??
  3. [master?c5c83cf]?remove?JackyData03??
  4. ?1?file?changed,?1?deletion(-)??
  5. ?delete?mode?100644?JackyData03
    ?

【Git入门之四】操作项目