【Git入门之四】操作项目

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

1.查看操作日记

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

[cpp]?view
plain
copy

?

  1. #查看操作日记,底下那串长长的数据就是SHA1?ID,表示当前版本号??
  2. $Snbsp;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
plain
copy

?

  1. #修改JackyData01内容??
  2. $Snbsp;echo?"HelloGit"?>?JackyData01??

?

3.查看当前状态

[cpp]?view
plain
copy

?

  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
plain
copy

?

  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
plain
copy

?

  1. #单行显示,只显示版本号和备注??
  2. $Snbsp;git?log?--pretty=oneline??
  3. cba8800f2daaf4075a506b6d763798ea15ba11cc?modify?JackyData01??
  4. aea0365712908805bc28540b4db9fd2f15360a8b?init?AddFiles??

6.查看不同

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

[cpp]?view
plain
copy

?

  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. @@[email protected]@??
  11. -HellloJacky??
  12. +HelloGit??

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

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

[cpp]?view
plain
copy

?

  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
plain
copy

?

  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
plain
copy

?

  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
plain
copy

?

  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
    ?
时间: 2024-10-21 21:43:46

【Git入门之四】操作项目的相关文章

git 入门操作指令

git add [commit file list] 将已经修改的代码添加索引 git commit -m [commit message] 将已经索引的代码修改提交至本地的库 git push origin [branch_name] 将分支 branch_name 的代码推送至服务器 git pull origin [branch_name] 获取分支 branch_name上的最新代码 git pull --rebase origin [branch_name] 将当前 branch 从

git入门学习(一):github for windows上传本地项目到github

Git是目前最先进的分布式版本控制系统,作为一个程序员,我们需要掌握其用法.Github发布了Github for Windows 则大大降低了学习成本和使用难度,他甚至比SVN都简单. 一.首先在github创建自己的账号 github官方网址为:https://github.com/,相信大家都应该有自己的github账号. 二.下载github for windows 官方下载网址为:https://desktop.github.com/,我下载的版本为3.2.0.0 三.安装github

git 入门操作

从已有的GIT仓库获取最新代码 git clone url 建立本地仓库,并提交至git-hub 生成ssh的公钥私钥对:ssh-keygen 从pc端打开生成的公钥,id_rsa.pub,复制并黏贴至git-hub的ssh-keys cd至程序文件夹,输入 git init 然后输入git add .(.代表所有文件也可以输入具体的单个文件名) 然后输入git commit -m “任意注释” 创建一个remote git remote add origin url(ssh.https.sub

Git入门—创建项目

Git入门-创建项目 注:win10系统下 打开Git Bash,进入存放仓库的目录 创建 初始化git init,该命令执行完后会在当前目录生成一个 .git 目录. 所有 Git 需要的数据和资源都存放在这个目录中. 如果当前目录下有几个文件想要纳入版本控制,需要先用 git add 命令告诉 Git 开始对这些文件进行跟踪,然后提交: 在test目录下创建一个简单的文件,内容为"hello git" 使用git status 查看状态 显示untracked files,说明文件

【Git入门之十四】Git GUI

[Git入门之十四]Git GUI - JackyStudio - 博客频道 - CSDN.NET 文章都快写完了,Git GUI才浮出水面,很多人要骂我,这么方便的东西怎么不早拿出来. 当然命令行和图形界面各有千秋,个人觉得命令行更能让人清楚的掌握整个项目的代码线.当然萝卜青菜各有所爱,Windows,Linux也是一样.喜欢什么客官您挑.本文只做简单介绍. 1.Git GUI有什么? 霸气测漏的右键菜单和可视化管理界面. 2.初始化仓库 新建一个文件夹叫JackyGUI,右键点击Git In

Git入门(三)——没有版本控制意识的程序员不是一个好的程序员

之前所讲的都是"自娱自乐",自己管理自己的项目.本篇主要是Git入门的尾声,也是最为精华的一部分,即利用Git进行版本控制,进行"团队协作开发",也会介绍分支合并以及合并冲突时常见的处理方法. 五.团队协作流程 1. 基本流程 (1) 创建一个分支 当你在开发一个项目的时候,一般在同一时刻你会同时展开多个想法,其中一些比较成熟了,另一些还是很初级的.有了分支就可以很好地来进行管理了.当你在项目中创建一个分支的时候,你可能就是正在搭建一个可以尝试新想法的环境.你在新分

深入学习:Windows下Git入门教程(下)

声明:由于本人对于Git的学习还处于摸索阶段,对有些概念的理解或许只是我断章取义,有曲解误导的地方还请见谅指正! 一.分支 1.1分支的概念. 对于的分支的理解,我们可以用模块化这个词来解释:在日常工作中,一个项目的开发模式往往是模块化,团队协作式的开发.这样我们项目的进度可以称得上多核并发式的开发了.这种模块化的开发要求我们尽可能的高内聚低耦合以免造成一只胳膊没了整个人都废了的局面.因此在所有的版本控制器对代码进行管理的时候都引入了分支这个概念.那么分支是什么呢? 分支是相对于主干来说的,或者

git入门学习(二):新建分支/上传代码/删除分支

一.git新建分支,上传代码到新的不同分支 我要实现的效果,即是多个内容的平行分支:这样做的主要目的是方便统一管理属于同一个内容的不同的项目,互不干扰.如图所示: 前提是我的github上已经有webpack_test项目了,我是在这个项目的基础上新建其他的分支并开展工作的.如图: 如果你对如何新建webpack_test项目不清楚,请参考我的前一篇文章:git入门学习(一):github for windows上传本地项目到github,操作步骤如下: 1.1.保留webpack_test项目

深入学习:Windows下Git入门教程(上)

一,安装Git: 1.1Linux上安装命令: sudo apt-get install git 1.2在Windows上安装Git: 使用Windows版的msysgit,官方下载地址:http://msysgit.github.io/,点击进入官网,如果官网无法正常下载我这里有当前的最新版,已经上传到CSDN上,下载地址为:http://download.csdn.net/detail/huangyabin001/7564005,点击进入下载 1.3安装完成进行配置: $ git confi