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的无穷魅力啦!
相关文章推荐
- hdu 1010 Tempter of the Bone 回溯
- 在局域网内如何访问另一台计算机
- java Ip地址的获取 简单代码
- Menu 菜单
- CSS3 calc()的使用
- js获取节点
- 函数调用的冒泡排序
- 黑马程序员——Java基础-图形界面
- 冒泡,简单选择,直接插入排序比较(Java版)
- springmvc的restful服务理解
- 【峰回路转】Excel技巧百例 01.对比两列数据,然后根据数据升降给出相关标识
- 设计与实现模块管理系统基本功能定义自己(18--设计模块附件[1])
- [LeetCode] Kth Smallest Element in a BST
- CodeVS第一次月赛
- php中0与空 Null false的区别
- Swift学习笔记(三)——布尔类型与if条件判断
- 刷脸支付火热 央行担忧安全风险
- MYSQL---MD5()、PASSWORD()函数
- 九度oj 1083
- Prim — 最小生成树