版本管理:Git 使用起步(一)
来源:互联网 发布:人工智能在线观看土豆 编辑:程序博客网 时间:2024/06/05 03:39
链接:Git的优点
主要内容:
获取git / 配置git
建立项目仓库/ 本地创建 / 从远程库获取
添加更新文件
忽略某些文件
检查文件状态 / 版本比较
获取Git
$apt-get install git
Git相关的环境变量可存放于以下三个位置:
/etc/gitconfig:系统级别 git config --system
~/.gitconfig: 当前用户 git config --global
.git/config 文件:当前项目
每一个级别的配置都会覆盖上层的相同配置,所以.git/config 里的配置会覆盖/etc/gitconfig 中的同名变量。
首先要配置的是用户名和邮箱,每次Git提交的时候会引用此信息:
$git config --global user.name "Nwahs"$git config --global user.email example@gmail.com
配置文本编辑器:
$ git config --global core.editor vim
配置文本比较工具:
$ git config --global merge.tool vimdiff
完成后查看配置文件:
$ cat ~/.gitconfig [color]ui = auto[core]editor = vim[user]name = Nwahsemail = example@gmail.com
查看当前配置
sahwn@EP43:~/IdeaProjects/untitled$ git config --listcolor.ui=autocore.editor=vimuser.name=Nwahsuser.email=example@gmail.comcore.repositoryformatversion=0core.filemode=truecore.bare=falsecore.logallrefupdates=true
查看帮助文档:
$git --help$git help add
----------------------------------------------------
建立项目仓库(Repository):
情形1 如果已有项目:
进入项目目录,如下命令,会生成.git目录
$ git init
添加文件到版本控制:
$ git add *.java
这样文件就进入到 Staging Area
如果想从版本控制中去除文件(不删除文件本身),使用如下命令:
$ git rm --cached [-fr] <dir/file>
被撤销的文件将不会被commit进入到本地repository
提交入库:
$ git commit -m "message"
上传本地库至代码托管网址:
$ git remote add origin https://nwahs@example.org/git/nawhs.git$ git push -u origin --all Password for 'https://nwahs@example.org': To https://nwahs@example.org/git/nawhs.git * [new branch] master -> masterBranch master set up to track remote branch master from origin.$ git push -u origin --tagsPassword for 'https://nwahs@example.org': Everything up-to-date
$ git clone git://github.com/schacon/grit.git
也可以指定clone到本地某文件夹:
$ git clone git://github.com/schacon/girt.git my_dir
忽略某些文件:
有3种方法可以实现 $HOME/.config/git/ignore, $GIT_DIR/info/exclude, .gitignore,这里用最后一种。
创建.gitignore 文件,当前目录及子目录下所有符合其规定的文件都将被忽略。
如果子目录也有此配置文件,则会覆盖上级目录的配置。更详尽的读取顺序,请参考:http://git-scm.com/docs/gitignore
一些规范和例子:
0 只针对untracked文件
1 所有空行和#开头的行无视之
2 !取反,之前被忽略的文件可以重新被包括进来。
但是如果某文件的某个父目录被忽略的话,此条对其无效。
# 此为注释 – 将被 Git 忽略*.a # 忽略所有 .a 结尾的文件!lib.a # 但 lib.a 除外
所以当只包括foo/bar目录时,应如下:
# exclude everything except directory foo/bar /* !/foo /foo/* !/foo/bar
3 最后跟反斜杠(/)说明要忽略的是目录。
4 星号(*)匹配零个或多个任意字符;
[abc] 匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);
如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如[0-9] 表示匹配所有 0 到 9 的数字)。
问号(?)只匹配一个任意字符;
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODObuild/ # 忽略 build/ 目录下的所有文件doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
\!important!.txt # 表示!important!.txt不会被忽略
6 **可以任意匹配
**/foo #可匹配目录下所有名字为foo的文件或目录,比如a/b/foo,c/foo/,c/d/foofoo/** #匹配foo目录下所有文件和目录a/**/b #可匹配 a/x/y/b,或者a/z/b等
检查当前文件状态:
$ git status
详情参考:http://blog.jobbole.com/25808/
修改后的文件,同样使用如下命令进行Stage
$ git add benchmarks.rb
查看状态更新:
检查已修改(modified)的文件同已暂存(staged)的文件的区别,
即working dir 和 staging area的区别:
$ git diff
检查已暂存(staged)的文件和上次提交(commited)的区别:
$ git diff --cached
跳过暂存区进行提交, Git会将所有track的文件一起暂存并提交:
$ git commit -a -m 'added new benchmarks'
//-----------------------------
参考文章:http://blog.jobbole.com/25775/
- 版本管理:Git 使用起步(一)
- 版本管理:Git 使用起步(二) Repo
- git的版本管理使用(一)-初识git
- git 版本管理(一)
- git版本控制管理系列-----第三章 GIT起步
- 使用GIT管理版本
- Git版本管理使用
- 【版本管理】Git使用
- git 详解一 起步
- 在Android Studio使用Git实现版本管理(一):拥有一个GitHub账号
- 在Android Studio使用Git实现版本管理(四):使用Git进行版本管理
- 版本管理工具git使用技巧(一)
- 使用Git实现版本控制(一)
- git版本控制器使用(一)
- 使用git进行版本管理
- GIT版本管理使用技巧
- 使用Git进行版本管理
- git版本管理系统使用
- 二分求幂
- Crixalis's Equipment
- 题目1510:替换空格
- vlc的应用:vlc的远程控制
- 交换十六进制的的高低字节
- 版本管理:Git 使用起步(一)
- Git SSH登录
- win8任务管理器中进程网络始终为0的解决方案
- 20140226Library
- QProcess学习
- Linux如何挂载根文件系统
- 大臣的旅费
- Integer Intervals
- 向量容器