前段时间弄过GitHub,一段时间没用又忘了不少,这两天又把相关知识整理了一下。有关安装和配置git的内容,在另一篇文章里http://www.cnblogs.com/realwall/archive/2011/12/09/2282959.html
1 初次运行git前的配置
git配置文件为
1) /etc/gitconfig 对系统所有用户起作用的配置
2) 用户的主目录/.gitconfig 当前用户的配置
3) 项目文件夹根目录/.git/config 当前项目的配置
每个级别的配置,都会覆盖上层相同配置
配置用户信息
git config --global user.name "realwall"
git config --global user.email "realwall@126.com"
这里使用的了--global选项,修改的是配置文件2),若使用--system选项,则修改配置文件1),若不加选项,则修改当前项目的配置文件3)。
配置文本编辑器
git config --global core.editor vim
配置差异分析工具
git config --global merge.tool vimdiff
查看配置信息
git config --list
2 git基本操作
取得项目的仓库
1)在工作目录中初始化新仓库
git init
2)从现有仓库克隆
git clone git://github.com/realwall/realwall.git [重命名]
这里采用的是git协议,也可以是其他,如http(s)
将当前目录下的文件纳入版本控制
git add *.c
git add README
git commit -m 'initial project version'
检查当前文件状态
文件状态:untracked(未跟踪),unmodified(未修改),modified(已修改),staged(已暂存)
git status
暂存文件
git add README
注:git add是一个多功能命令,根据目标文件的状态不同,此命令的效果也不同:可以用它来跟踪新文件,或者把已跟踪的文件放入暂存区域,还能用于合并时把有冲突的文件标记为已解决状态。
忽略某些文件
在项目任意目录创建文件.gitignore,以忽略某些文件,使它们不会总是出现在未跟踪文件列中。
.gitignore文件示例:
#此为注释,将被git忽略
*.a #忽略左右后缀名为a的文件
!lib.a #lib.a除外
查看已暂存和未暂存的更新
git diff
提交更新
git commit
注:每次提交前,要先用git status命令查看所有修改是否都已暂存
从跟踪列表移除文件
git rm README
移动/重命名文件
git mv file_from file_to
查看当前远程库
git remote [-v]
选项-v显示远程库的地址
添加远程仓库
git remote add [shortname] [url]
注:如果在www.github.com上添加远程仓库,需先在网站上新建一个同名仓库,然后再将本地项目提交到该新建仓库远程地址。
从远程仓库抓取数据
git fetch [remote-name]
推送数据到远程仓库
git push [remote-name] [branch-name]
查看某个远程仓库的详细信息
git remote show [remote-name]
重命名远程仓库
git remote rename [old-remote-name] [new-remote-name]
删除远程仓库
git remote rm [remote-name]
参考网址:http://progit.org/book/zh/