Git学习笔记(一)
来源:互联网 发布:python 运行环境 编辑:程序博客网 时间:2024/06/10 15:51
Git学习笔记(一)
- Git学习笔记一
- 闲言碎语
- Git是什么
- Git与其他的VCS的区别
- Git的三个状态
- 学习笔记
- 准备工作
- 添加文件
- 更改文件
- 提交更改
- 闲言碎语
闲言碎语
Git是什么
一个版本控制系统(VCS,Version Control System)
Git与其他的VCS的区别
快照,而不是差异
Git的三个状态
学习笔记
准备工作
根据《Pro Git》所说,在你安装Git后首先应该设置用户名与邮箱
$git config --global user.name "John Doe"$git config --global user.email johndoe@example.com
句首的$为提示符(Prompt),不是自己键入的
然后是设置文本编辑器
$git config --global core.edit vim
教程里是Emacs~
其实我都不太会用~
之后可以用
$git config --list
查看设置,用
$git config -e
使用文本编辑器修改设置
添加文件
为了开始用Git记录(Track)一个已存在的项目,首先需要进入到项目所在的文件夹,然后输入
$git init
进行初始化
这个操作会在目录下创建一个名为.git的子文件夹,里面包含了所有必要的仓库文件,也就是一个Git仓库的骨架
接下来使用
$git add <FILE>
如
$git add *$git add *.c$git add README
添加文件,后面可以用通配符*,但不支持正则表达式
同时,也可以用
$git clone [url]
获得一份别人仓库的拷贝
更改文件
给出《Pro Git》中对于文件状态的叙述:
添加/更改文件后,可以用
$git status
查看各文件处于什么状态
如果在之后打上-s,则可以看到各文件状态的一个简短描述,比如下面就是一种
$ git status -s M README MM Rakefile A lib/git.rb M lib/simplegit.rb?? LICENSE.txt
未被记录的文件有个??标记,加入到暂存区域(Staging Area)的新文件有一个A,修改过的文件有一个M。有两列标记,左列的标记指示暂存后的文件,右边的标记指示的是修改后的文件。以上面这个胃里,README在工作目录里更改过但是还没有暂存,lib/simplegit.rb更改并暂存了,Rakefile更改后暂存了,但是在暂存后又更改过,所以这个文件的改变在暂存/非暂存中都发生了。
同时可以通过更改.gitignore文件来声明一些不同步的文件,如下例中的.gitignore文件
# no .a files *.a# but do track lib.a, even though you're ignoring .a files above !lib.a# only ignore the root TODO file, not subdir/TODO/TODO # ignore all files in the build/ directory build/# ignore doc/notes.txt, but not doc/server/arch.txt doc/*.txt# ignore all .txt files in the doc/ directorydoc/**/*.txt
除了status之外,还可以使用
$git diff
查看暂存与未暂存的更改。
如果想要查看下次提交(commit)会改变的文件(即暂存的文件),使用命令
$git diff --staged
提交更改
输入
$git commit
即可完成对staged file的提交,这次的修改也就完成,与此同时,也常用
$git commit -m "Comit Message"
附加上此次提交的信息
commit还有更多、更丰富的选项可选,具体的就看文档吧
- GIT学习笔记(一)
- Git 学习笔记(一)
- git 学习笔记(一)
- Git学习笔记(一)
- Git学习笔记(一)
- Git学习笔记(一)
- Git学习笔记(一)
- 学习git笔记(一)
- git学习笔记(一)
- Git 学习笔记(一)
- Git学习笔记(一)
- Git学习笔记(一)
- Git学习笔记(一)
- git 学习笔记(一)
- git学习笔记(一)
- Git学习笔记(一)
- git 学习笔记(一)
- Git学习笔记(一)
- mysql体系结构分析
- android中自定义画布Canvas的实现
- 巨杉数据库SequoiaDB分区介绍
- CSS朝花夕拾之块级格式上下文BFC
- Storm1.1.0<温故而知新--hdfs和storm的集成>
- Git学习笔记(一)
- ajax技术的运用
- Mybatis学习笔记之一:Mybatis介绍
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式)
- Leetcode628. Maximum Product of Three Numbers不要太简单
- SpringMVC知识点汇总
- git基本操作
- String的compareTo()方法返回值
- 推荐系统-itemCF和userCF