码迷,mamicode.com
首页 > 其他好文 > 详细

Git 命令 一

时间:2015-02-10 21:39:13      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:

使用设置 

git config --global user.name "Your Name"
git config --global user.email "Your E-Mail"
git config --global core.editor vim
git config --global merge.tool     vimdiff
git config --list                                # 显示当前的配置
git config --global core.autocrlf false          # 停止换行的自动转换

初始化或者Clone一个库

git init                 # 初始化一个新的空库 
git clone   URL          # 克隆一个远程库
git clone --bare   URL   # 克隆不带工作目录的纯库

文件操作相关

git status                    # 查看状态
# 将修改添加到Stage
git add  .                    # 当前目录所有已在版本库中的文件
git add file                  # 添加文件
git diff               # 查看修改     
git diff     --cached  # 查看已经暂存的差异
git commit                   # 将已加到Stage的文件提交到库中
git commit -m "修改注释"
git commit -a -m "修改注释"    # 直接将已跟踪的文件,添加到Stage并提交  
git rm               # 删除文件
git rm -f            # 已修改的文件 强制删除
git rm --cached      # 删除,但保留文件在磁盘
git mv               # 移动 重命名
git checkout file    # 将文件恢复到上次提交的状态,撤销修改
git checkout -- ./   # 撤销当前目录所有修改 

gitignore

.gitignore     # 添加忽略项到这个文件中
# 此为注释 – 将被 Git 忽略
*.a            # 忽略所有 .a 结尾的文件
!lib.a         # 但 lib.a 除外
/TODO          # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/         # 忽略 build/ 目录下的所有文件
doc/*.txt      # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

查看提交历史 

git log
git log -p -2     # -p 展开内容差异 -2 显示最近2次提交
git log --stat    # 显示统计
git log --graph   # 图形化地显示提交历史
git log --pretty=oneline #  oneline, short, full, fuller
git log --since --after --until --before --author --committer --grep
git log --pretty=format:"%h - %an, %ar : %s"

修改和撤销提交 

# 修改最后一次提交
git commit -m "foo"
git add forgotten_file
git commit --amend       # 只产生一个提交
# 撤销暂存
git reset HEAD some_file
# 回到上一次提交
git reset HEAD^ --soft  # 文件修改保留 HEAD^表示HEAD的父提交
git reset HEAD^ --hard  # 不保留文件修改a73752e

远程库 

git remote              # 查看当前的远程库
git remote -v           # 更详细
git remote add [name] [url] # 添加远程仓库
git fetch [remote-name] # 从远程仓库抓取数据
git fetch origin        # 从服务器抓取最新的提交,不合并
git pull                # 从服务器抓取,并合并到工作目录
git push [remote-name] [branch-name] # 推送数据到远程仓库
git remote show origin     # 查看远程仓库信息
git remote rename pb paul  # 重命名远程仓库
git remote rm pb           # 删除远程仓库

 tag

git tag                     # 列出已有的标签
git tag -l "v1.4*"          # 过滤
# 新建tag
git tag -a v1.4 -m "标签注释"
git show v1.4               # 显示标签信息
# 后期加标签
git log --pretty=oneline         # 找到对应提交的校验
git tag -a v1.2 9fceb02          # 追加到校验上
# 分享标签
git push origin v1.5            # 推送某个标签
git push origin --tags          # 所有的标签都推送

 分支

git branch testing               # 创建分支
git checkout testing             # 切换工作目录到分支
git checkout -b iss53            # 创建分支并切换到分支
git checkout -b my2.6.14 v2.6.14 # 从tag创建一个分支并checkout
git checkout -b serverfix orign/serverfix # 从远程分支创建一个分支,并checkout
git branch --set-upstream branch remotebranch # 将已有分支跟踪远程分支
git branch --track localbranch remotebranch   # 将本地分支跟踪到远程分支
git branch -d iss53                # 删除一个分支
git branch                         # 列出分支
git branch -v                      # 列出分支详细信息
git branch -r                      # 列出远程分支
git branch --merged                # 已合并的分支
git branch --no-merged             # 未合并的分支
git push origin serverfix          # 推送分支到远程
git push origin :serverfix         # 从远程删除分支       
git merge anotherbranch             # 合并另一个分支到当前分支
git merge anotherbranch --no-commit  # 合并分支但不提交

 rebase 保持干净的提交历史

git rebase master

清空工作目录

git clean -x -d -f
-x 将忽略的文件一起删除
-d 将目录删除

将已删除的文件添加到暂存

git add -u

导出某个分支到指定目录

git archive master | tar -x -C  /some/path

子模块

git submodule add git://github/foobar.git
git submodule init
git submodule update

 

Git 命令 一

标签:

原文地址:http://www.cnblogs.com/shaddock/p/4284872.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!