基础配置
:
列显已有的标签 : git tag
eg : git tag -l 'v1.4.2.*'
新建标签 : git tag -a [tag] -m 'message'
eg : git tag -a v1.4 -m 'my version 1.4'
查看标签: git show [tag]
eg : git show v1.4
推送标签到远程: git push [remote-name] [tagname]
eg: git push origin v1.5
分支管理
用户信息 :
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
文本编辑器 :
git config --global core.editor emacs
差异分析工具
git config --global merge.tool vimdiff
查看配置信息 :
git config --list
记住密码:
在 .gitconfig 文件中添加
[credential]
helper = store
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
文本编辑器 :
git config --global core.editor emacs
差异分析工具
git config --global merge.tool vimdiff
查看配置信息 :
git config --list
记住密码:
在 .gitconfig 文件中添加
[credential]
helper = store
基础管理 :
在工作目录中初始化
: git init
添加文件 :
git add
eg: git add index.html ; git add *.html
提交文件 : git commit -m 'message ' -a:提交所有改动
eg : git commit -m 'test'
克隆 :
git clone [url]
eg: git clone https://git.oschina.net/hevenick/Test.git
检查文件状态: git status
查看改动 : git diff
忽略文件: 创建一个名为 .gitignore 的文件,列出要忽略的文件模式
# 此为注释 – 将被 Git 忽略
# 忽略所有 .a 结尾的文件
*.a
# 但 lib.a 除外
!lib.a
# 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
/TODO
# 忽略 build/ 目录下的所有文件
build/
# 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
doc/*.txt
删除文件 : git rm [path]
eg : git rm index.html
eg: git rm log/*.log
重命名文件 : git mv [orig] [source]
eg : mv README.txt README
查看历史: git log
选项 说明
选项 说明
-p 按补丁格式显示每个更新之间的差异。
--stat 显示每次更新的文件修改统计信息。
--shortstat 只显示 --stat 中最后的行数修改添加移除统计。
--name-only 仅在提交信息后显示已修改的文件清单。
--name-status 显示新增、修改、删除的文件清单。
--abbrev-commit 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。
--relative-date 使用较短的相对时间显示(比如,“2 weeks ago”)。
--graph 显示 ASCII 图形表示的分支合并历史。
--pretty 使用其他格式显示历史提交信息。可用的选项包括 oneline,short,full,fuller 和 format(后跟指定格式)。
-(n) 仅显示最近的 n 条提交
--since, --after 仅显示指定时间之后的提交。
--until, --before 仅显示指定时间之前的提交。
--author 仅显示指定作者相关的提交。
--committer 仅显示指定提交者相关的提交。
eg : git log -4 #查看最近的四条
eg: git log -p -4 #查看最近的四条,并且列出差异情况
eg : git log --pretty=format:"%h - %an, %ar : %s"
选项 说明
%H 提交对象(commit)的完整哈希字串
%h 提交对象的简短哈希字串
%T 树对象(tree)的完整哈希字串
%t 树对象的简短哈希字串
%P 父对象(parent)的完整哈希字串
%p 父对象的简短哈希字串
%an 作者(author)的名字
%ae 作者的电子邮件地址
%ad 作者修订日期(可以用 -date= 选项定制格式)
%ar 作者修订日期,按多久以前的方式显示
%cn 提交者(committer)的名字
%ce 提交者的电子邮件地址
%cd 提交日期
%cr 提交日期,按多久以前的方式显示
%s 提交说明
撤销操作: git commit --amend
远程仓库管理:
查看远程仓库 : git remote -v
添加远程仓库 :
git remote add [name] [url]
eg: git remote add origin
https://git.oschina.net/hevenick/Test.git
eg : git remote add origin git@git.oschina.net:heavenick/Test.git #需要添加ssh 公钥
从远程仓库抓取索引数据 : git fetch [remote-name]
推送数据到远程仓库 : git push [remote-name] [branch-name]
eg: git push origin master
更新远程仓库数据 : git pull [remote-name] [master]
eg: git pull origin master
查看远程仓库信息 : git remote show [remote-name]
eg: git remove show https://git.oschina.net/hevenick/Test.git
远程仓库的删除和重命名 : git remote rename
eg : git remote rename pb paul
标签管理 :
推送数据到远程仓库 : git push [remote-name] [branch-name]
eg: git push origin master
更新远程仓库数据 : git pull [remote-name] [master]
eg: git pull origin master
查看远程仓库信息 : git remote show [remote-name]
eg: git remove show https://git.oschina.net/hevenick/Test.git
远程仓库的删除和重命名 : git remote rename
eg : git remote rename pb paul
标签管理 :
列显已有的标签 : git tag
eg : git tag -l 'v1.4.2.*'
新建标签 : git tag -a [tag] -m 'message'
eg : git tag -a v1.4 -m 'my version 1.4'
查看标签: git show [tag]
eg : git show v1.4
推送标签到远程: git push [remote-name] [tagname]
eg: git push origin v1.5
查看分支: git branch
eg:git branch -v #查看各个分支最后一个提交对象的信息
eg : git branch --merged #查看哪些分支已被并入当前分支
eg: git branch --no-merged #查看尚未合并的工作
创建一个分支: git branch [branch-name]
eg: git branch test1
切换分支: git checkout [branch-name]
eg : git checkout test1
分支的新建与切换 : git checkout -b [branch-name]
eg : git checkout -b test2 相当于 git branch test2 , git checkout test2
合并分支: git merge [branch-name]
eg: git merge test2
删除分支: git branch -d [branch-name]
eg : git branch -d test2
推送分支到远程: git push [remote-name] [branch-name]
eg: git push origin test1
合并远程分支到本地: git merge origin/test2
eg: git checkout -b test2 origin/test2
跟踪远程分支 : git checkout -b [分支名] [远程名]/[分支名]
git checkout --track [远程名]/[分支名]
eg: git checkout --track origin/serverfix
eg: git checkout -b sf origin/serverfix
删除远程分支: git push [远程名] :[分支名]
eg:git push origin :test1