Git的基本操作

Git的基本操作

一、初次运行Git前的配置

         一般在新的系统上,我们都需要先配置下自己的Git工作环境。配置工作只需进行一次,以后升级时还会沿用现在的配置。如果需要,你随时可以用相同的命令修改已有的配置。

         首先要配置的是你个人的用户名称和电子邮件地址:

         gitconfig –global user.name “Haohan_Meng”

         gitconfig –global user.email Haohan_Meng@163.com

         然后,可以配置文本编辑器、差异分析工具等设置。要查看已有的配置信息,可以使用 git config –list命令。

        

 

二、取得项目的Git仓库

方法一:在本地的项目目录下,通过导入所有的文件来创建新的Git仓库。

方法二:从远程已有的Git仓库克隆出一个新的镜像仓库来。

         目前,我使用第一种方法,在本地的项目目录中初始化新的Git仓库。

         首先,切换到项目目录之下,初始化仓库,使用命令

         gitinit

         初始化后,在当前目录下会出现一个名为.git的目录,注意,所有Git需要的数据和资源都存放在这个目录中。

         然后,针对当前目录下想要加入版本控制的文件,使用命令

         gitadd .(我把全部文件都纳入版本控制之中了)

         该命令告诉Git开始对这些文件进行跟踪。

         然后提交,使用命令

         gitcommit       

        

         如果是从现有的Git仓库克隆,使用gitclone命令,如

         gitclone git://github.com/schacon/grit.git

         这会在当前目录下创建一个名为grit的目录,其中会包含一个.git的目录,用于保存所有下载下来的版本记录。当你进入这个新建的grit目录,你会发现项目中的所有文件已经在里面了。如果希望在克隆的时候,自己定义项目目录的名称,可以在上面的命令末尾指定新的目录名称

         gitclone git://github.com/schacon/grit.git mygrit

 

三、记录每次更新到仓库

         在工作目录(即本地项目)下面的所有文件都无外乎这两种状态:已跟踪或未跟踪。已跟踪的文件指的是已经被纳入版本控制管理的文件。已跟踪的文件,它们的状态可能是已修改,已暂存,或者未更新(未修改)。而未跟踪的文件,它们既没有上次更新的快照,也不在当前的暂存区域,通常情况下它们就是那些在工作目录下新创建的文件。

         在对某些文件进行编辑之后,Git将这些文件标记为已修改。我们会逐步把这些修改过的文件保存到暂存区域,直到最后一次一次性的提交所有这些位于暂存区域的文件,如此重复。所以使用Git时的文件状态变化周期如图所示

 

四、检查当前文件的状态

         要确定当前文件处于什么状态,可以使用 git status 命令来查看。

         使用命令后,如果有未跟踪的文件,则会出现在untracked files 下面,然后我们可以跟踪新文件,使用命令 git add,开始跟踪一个新文件。

         使用命令后,如果有处于暂存状态的文件,则会出现在 changes to be commited 下面,如果此时提交,那么该文件此时此刻的版本将被保存到历史记录中。

         注意,git add 命令是一个多功能的命令,因为根据目标文件的状态不同,该命令的效果也会不同。它可以开始跟踪新文件,或者把已跟踪的文件放到暂存区,还能用于合并时把有冲突的文件标记为已解决状态等。并且,运行了git add 之后又做了修改的文件,要重新运行git add命令,把最新的版本重新暂存起来。否则提交的只能是已暂存的版本,而非你当前工作目录中的最新版本。

 

五、查看已暂存和未暂存的更新

         使用git diff 命令。此命令比较的是工作目录中的当前文件和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容。要查看已经暂存的文件和上次提交的文件快照之间的差异,可以使用git diff –cached 或git diff –staged命令。

注意,git diff 显示的是尚未暂存的改动,所以暂存之后(git add)再使用git diff命令会什么都没有,这是正常的。

 

六、提交更新

         使用提交命令 gitcommit。默认的提交消息包含最后一次运行git status 的输出信息,它们被放在了注释行里。注意,提交时记录的是放在暂存区域里的快照,任何还未暂存的仍然保持已修改状态。每一次运行提交操作,都是对你的项目进行一次快照,以后可以回到这个状态。

         如果在提交时想要跳过使用暂存区域,使用命令 git commit –a (加上-a选项),Git就会自动把所有已经跟踪过的文件暂存起来并一并提交,从而跳过了暂存的步骤(git add)。

 

七、移除文件

         使用git rm 命令,可以从已跟踪文件清单中移除文件,也就是从暂存区域移除文件。并且,该命令还会连带从工作目录中删除指定的文件。

         如果你只是从工作目录中手动删除了某个文件,那么运行git status命令就会在Changes not staged for commit 部分看到

$ rm grit.gemspec

$ git status

# On branch master

#

# Changes not staged for commit:

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

#

#      deleted:    grit.gemspec

         然后再运行git rm命令,记录此次手动移除文件的操作。如果移除之前已经修改过文件并且放到了暂存区域的话,就必须使用强制删除选项–f,以防止删除文件后丢失修改的内容。

         如果我们想把文件从Git仓库中删除,但是仍然保留在工作目录中,可以使用git rm –cached命令(脱离Git的管理)。如

         gitrm –cached readme.txt

 

八、移动文件

         使用命令git mv 。例如,要在Git中对文件进行改名,可以这么做

         gitmv file_from file_to

         其实,运行git mv命令就相当于运行了下面三条命令:

         mvreadme.txt readme

         gitrm readme.txt

         gitadd readme

 

注:获取Git工具的帮助有三种方法

         方法一:git help<verb>

         方法二:git <verb>--help

         方法三:man git-<verb>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值