从Git的安装到Git的基础用法
安装Git
Debian8:
$ sudo apt-get install git
初始化
git config –global user.name “Your Name Comes Here” git config –global user.email [email protected]
新建仓库
- 用cd打开到项目的目录
- $ git init #创建仓库, 会得到 Initialized empty Git repository in .git/
- $ git add . #将当前所有文件给git管理
- $ git commit #提交更改
查询状态
git status #查询当前的文件状态(用-s参数显示简要信息) git log #显示历史修改情况(修改时间,修改描述)
git log -p #显示详细日志(包括修改的部分) git log –stat –summary #显示摘要(除默认显示外还包括修改量)
提交修改
- $ git add files… #标记要提交的文件
- $ git diff –cached(与staged效果相同) #显示修改的内容(可选操作)
- $ git commit #提交修改(可以用 -m ‘MESSGAE’ 参数直接输入版本说明)
也可以
- $git commit -a #直接提交所有修改,不需要用-a标记
忽略文件
如果不希望git注意到某些文件(甚至不显示untracked),可以创建一个 .gitignore文件,文件的示例如下:
# no .a files *.a # but do track lib.a, even though you're ignoring .a files above !lib.a # only ignore the TODO file in the current directory, 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 .pdf files in the doc/ directory and any of its subdirectories doc/**/*.pdf
分支管理
git branch #显示分支列表 git branch NAME #创建分支
git branch -d NAME #删除分支(将会检查分支中的代码是否合并) git branch -D NAME #删除分支(不会检查是否合并)
git checkout NAME #选择分支 git merge NAME #将NAME分支合并到当前分支
当出现合并冲突时(如对同一个位置进行了不同的修改)
$ git diff #查看冲突的位置
同时也会在文件中标记冲突,格式如下
++<<<<<<<< HEAD
+当前分支的内容
++===========
+ 被合并分支的内容
++>>>>>>>>>>>>>
这时需要编辑文件解决冲突并commit(不需要重新merge)
协作管理
git clone [其它用户的项目路径] [仓库的名字(可选,如果没有则是原来的名字)] #将当前系统下其它用户的库正在操作的分支复制到当前目录下 git pull [其它用户的项目路径] [分支的名字] #将其他用户的分支合并到指定的分支
项目路径有以下几类
- 本地磁盘上储存的其他仓库
- ssh连接到远程服务器,格式为:user@host : [diskPath]
- url链接,如:https://github.com/libgit2/libgit2
远程服务器
git remote #查看远程服务器列表 git add [shortname] [url] #添加url所指的仓库,并命名为shortname
更新 更新
hyhnh