您的位置:首页 > 其它

Git指南-基础篇

2015-07-26 14:31 176 查看

一,Git简介

对于一个刚接触Git的同学来说,Git是一个新鲜的东西,为了对Git有更深的了解,强烈推荐一篇博文:Git与Repo入门

它介绍了版本控制的历史,从原始的版本控制(即原型-备份-复制-修改-备份-再创建-……然后归为一类,完全手动,就像修改word文档一样。(要认真了解以下其Git的工作方式)

二,Git的简单使用

必须要了解GIT的原理,才能知道每个操作的意义是什么,才能更容易地理解在什么情况下用什么操作,而不是死记命令。当然,第一步是要获得一个GIT仓库。

1.有两种获得GIT仓库的方法,一是在需要用GIT管理的项目的根目录执行:

git init

执行后可以看到,仅仅在项目目录多出了一个.git目录(可以使用
list --ah
指令显示出隐藏文件),关于版本等的所有信息都在这个目录里面。

另一种方式是克隆远程目录,由于是将远程服务器上的仓库完全镜像一份至本地,而不是取某一个特定版本,所以用clone而不是checkout:

git clone <你的github上面仓库的url>

2.文件状态操作

下面几个指令的前提是明白git下文件的集中状态,详细请参考: Git与Repo入门

接下来我们就看怎么暂存文件,其实也很简单,使用指令:

git add <file>

就可以暂存文件,跟踪文件同样是这一个命令。

取消暂存文件是:

git reset HEAD <file>

若修改了一个文件想还原修改可用:

git checkout --<file>

3.查看文件修改后的差异

当我们修改过一些文件之后,我们可能想查看我们都修改了什么东西,用"git status"只能查看对哪些文件做了改动,如果要看改动了什么,可以用:

git diff

4.忽略一些文件

如果有一些部件我们不想纳入版本控制,也不想在每次"git status"时看到这些文件的提示,或者很多时候我们为了方便会使用"git add ."添加所有修改的文件,这时就会添加上一些我们不想添加的文件,怎么忽略这些文件呢?

  GIT当然提供了方法,只需在主目录下建立".gitignore"文件,此文件有如下规则:

所有以#开头的行会被忽略

可以使用glob模式匹配

匹配模式后跟反斜杠(/)表示要忽略的是目录

如果不要忽略某模式的文件在模式前加"!"

例如:

# 此为注释 – 将被 Git 忽略
*.a # 忽略所有 .a 结尾的文件
!lib.a # 但 lib.a 除外
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

5.移除文件

移除文件的指令:

我们需要将文件添加到暂存区才能提交,而移除文件后是无法添加到暂存区的,那么怎么移除一个文件让GIT不再将其纳入版本控制呢?

git rm <file>

执行完操作后,执行提交命令就行啦!

6.移除所有未跟踪的文件

git clean [options] 一般会加上参数-df,-d表示包含目录,-f表示强制清除。

到此为止,仅对git做了非常小部分的梳理(侧重从整体上理解,还有很多功能没介绍,如果想看更详细的操作指令,可以去 Git与Repo入门),下一篇博客主要讲述常用git分支的操作,你可以尝试到git的无穷魅力啦!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: