Git基本常用命令介绍

基本命令

1.从现有仓库克隆

克隆仓库的命令格式为 git clone [url]。比如,要克隆Ruby 语言的 Git 代码仓库 Grit,可以用下面的命令:

$ git clone git://github.com/schacon/grit.git

这会在当前目录下创建一个名为grit的目录
如果希望在克隆的时候,自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字:

$ git clone git://github.com/schacon/grit.git mygrit

唯一的差别就是,现在新建的目录成了 mygrit,其他的都一样。

2.检查当前文件状态

工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪。
要确定哪些文件当前处于什么状态,可以用 git status 命令。如果在克隆仓库之后立即执行此命令,会看到类似这样的输出:

$ git status
On branch master   #当前所在的分支是 master
nothing to commit, working directory clean  #这说明你现在的工作目录相当干净,当前目录下没有出现任何处于未跟踪的新文件
3.跟踪新文件,暂存已修改文件

使用命令 git add 开始跟踪一个新文件。所以,要跟踪 demo.php 文件,运行:

$ git add demo.php

git add 后面可以指明要跟踪的文件或目录路径。如果是目录的话,就说明要递归跟踪该目录下的所有文件,也可以使用git add . 跟踪所有文件。
运行了 git add 之后又作了修订的文件,需要重新运行 git add 把最新版本重新暂存起来

4.忽略某些文件

我们可以创建一个名为 .gitignore 的文件,列出要忽略的文件模式。例:

# 此为注释 – 将被 Git 忽略
# 忽略所有 .a 结尾的文件
*.a
# 但 lib.a 除外
!lib.a
# 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
/TODO
# 忽略 build/ 目录下的所有文件
build/
# 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
doc/*.txt
# 忽略 doc/ 目录下所有扩展名为 txt 的文件
doc/**/*.txt
5.提交更新
$ git commit -m '本次提交说明'
6.移除文件

要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除(确切地说,是从暂存区域移除),然后提交。可以用 git rm 命令完成此项工作,并连带从工作目录中删除指定的文件,这样以后就不会出现在未跟踪文件清单中了。

$ git rm demo.php

后面可以列出文件或者目录的名字,也可以使用 glob 模式。比方说:

$ git rm log/\*.log    #此命令删除所有 log/ 目录下扩展名为 .log 的文件
$ git rm \*~   #会递归删除当前目录及其子目录中所有 ~ 结尾的文件。
7.查看提交历史

在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 git log 命令查看。

$ git log
commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon <schacon@gee-mail.com>
Date:   Mon Mar 17 21:52:11 2008 -0700

    changed the version number

最近的更新排在最上面,每次更新都有一个 SHA-1 校验和、作者的名字和电子邮件地址、提交时间,最后缩进一个段落显示提交说明。
我们常用 -p 选项展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新

8.使用图形化工具查阅提交历史

在项目工作目录中输入 gitk 命令
在这里插入图片描述
上半个窗口显示的是历次提交的分支祖先图谱,下半个窗口显示当前点选的提交对应的具体差异

9.修改撤消最后一次提交

有时候我们提交完了才发现漏掉了几个文件没有加,或者提交信息写错了。想要撤消刚才的提交操作,可以使用 --amend 选项重新提交:

$ git commit --amend

如果刚才提交时忘了暂存某些修改,可以先补上暂存操作,然后再运行 --amend 提交:

$ git commit -m '新建文件'
$ git add forgotten_file.php
$ git commit --amend

上面的三条命令最终只是产生一个提交,第二个提交命令修正了第一个的提交内容。

10.取消已经暂存的文件

两个修改过的文件,我们想要分开提交,但不小心用 git add . 全加到了暂存区域。该如何撤消暂存其中的一个文件呢?可以使用 git reset HEAD <file>... 的方式取消暂存。

$ git reset HEAD adds.rb

如果刚才提交时忘了暂存某些修改,可以先补上暂存操作,然后再运行 --amend 提交:

$ git commit -m '新建文件'
$ git add forgotten_file.php
$ git commit --amend

上面的三条命令最终只是产生一个提交,第二个提交命令修正了第一个的提交内容。

远程仓库的使用

1.查看当前的远程库

要查看当前配置有哪些远程仓库,可以用 git remote 命令,它会列出每个远程库的简短名字。
也可以加上 -v 选项(译注:此为 --verbose 的简写,取首字母),显示对应的克隆地址:

$ git remote -v
origin  git://github.com/schacon/ticgit.git (fetch)
origin  git://github.com/schacon/ticgit.git (push)
2.添加远程仓库

要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,运行 git remote add [shortname] [url]

$ git remote add pb git://github.com/paulboone/ticgit.git
3.从远程仓库抓取数据

可以用下面的命令从远程仓库抓取数据到本地:fetch 命令只是将远端的数据拉到本地仓库,并不自动合并到当前工作分支.
所以一般我们运行 git pull,目的都是要从原始克隆的远端仓库中抓取数据后,合并到工作目录中的当前分支

$ git fetch [remote-name]
$ git pull
4.推送数据到远程仓库

可以运行下面的命令:

$ git push 
常用顺序

git clone -> git add -> git commit -m -> git pull -> git push

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值