GIT使用总结一
一、 介绍
1、Git是一种分布式的版本控制器,客户端不只提取最新版本的文件快照,而是把代码仓库完整的镜像下来,这样任何一处协同工作的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复,因为每次操作都是一次对代码库的备份。
分布式版本控制系统
Git保存每次更新时的文件快照如下:
2、工作目录下文件的状态:已跟踪和未跟踪。
已跟踪:被纳入版本控制管理的文件
未跟踪:既没有上次更新时的快照,也不在当前的暂存区
二、 初次使用前的配置
1、 git config --global user.name “用户名” global表示:本用户目录下
2、 git config --global user.email “用户邮箱”
3、 git config --list 查看配置信息
4、 git help <verb> 获取帮助信息
三、 Git基础操作
(1)送
1) git init 对某个项目进行管理时在工作目录初始化新仓库。
2) git add [file_name] 对文件file_name进行跟踪。
3) git commit -m “[information]” 。提交至本地仓库
4) git commit -a -m “[information]” 直接将文件添加到暂存区并提交至本地仓库
5) git push [remote-name] [branch-name] 推送数据到远端分支
(2)得
1) git clone [url] 克隆远程仓库。
2) git pull [remote-name] [remote-branch]:[local-branch]从远程仓库拉取文件
(3)分支
1) git branch [branch_name]创建新的分支
2) git checkout [branch_name]切换到某个分支
3) git branch -b [branch_name]新建并切换到该分支上
4) git merge [branch_name] 合并分支
5) git branch -d [branch_name] 删除分支
(4)冲突
1) git stash 储藏本地工作
2) git stash list 查看现有的储藏
3) git stash apply [stash_name] 将储存应用上去
4) git stash drop [stash_name] 移除暂存
四、 忽略某些文件
1、创建.gitignore文件列出要忽略的文件模式。具体格式规范如下:
(1)所有空行或者以注释符号#开头的都会被忽略。
(2)可以使用glob模式匹配。
(3)匹配模式最后跟反斜杠(/)说明忽略的是目录。
(4)要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。
(5)星号(*)表示匹配零个或者多个任意字符。
(6)[abc]匹配任何一个列在方括号中的字符。
(7)问号(?)只匹配一个任意字符。
(8)[0-9]表示匹配0-9两个范围之内的值。
注意:glob是指shell所使用的简化了的正则表达式。
2、例子
# 此为注释 – 将被 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