[Git] 命令备忘
2015-11-22 本文已影响58人
水止云起
配置环境变量
git config命令用来配置相应的工作环境变量,正是这些环境变量决定了Git在各个环节的具体工作方式和行为。这些环境变量可以存放在三个不同的地方:
- 针对系统所有用户的$(prefix)/etc/gitconfig,使用时加--system参数。
- 针对当前用户的~/.gitconfig,使用时加--global参数。
- 针对当前项目的.git/config,使用时加--local参数或不加参数。
使用不同的参数就会读写相应地文件,每一个级别都会覆盖上一级别的相同配置。
// 配置当前用户下的Git用户名和邮箱
git config --global user.name ""
git config --global user.email ""
// 查看当前配置列表
git config --list
// 配置别名
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch
git config --global alias.unstage 'reset HEAD'
git config --global alias.last 'log -1'
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
git config --global alias.llg "log -10 --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
版本控制
// 初始化版本库
git init
// 将文件修改添加到暂存区
git add
// 提交暂存区的修改到版本库
git commit -m ""
// 回退到指定版本
git reset --hard commit_id
// 回退到上一版本
git reset --hard HEAD^
// 撤销工作区的修改,回到最近一次提交的状态(若暂存区有提交的修改,则会退到暂存区修改的状态)
git checkout -- file_name
// 将提交到暂存区的修改撤回到工作区
git reset HEAD file_name
// 删除一个文件
git rm
// 停止追踪一个文件[目录]
git rm [-r] --cached file_name
// 修改最近两次提交历史
git rebase [-i|--interactive] HEAD~2
远程库相关
// 创建一个远程库
git remote add origin git@server-name:path/repo-name.git
// 删除一个远程库
git remote rm origin
//向远程库推送最新修改
git push origin branch_name
// 向远程库推送最新修改,并建立当前分支与远程库对应分支的追踪关系
git push -u origin branch_name
// 克隆远程库
git clone
// 本地创建和远程分支对应的分支
git checkout -b branch-name origin/branch-name
// 建立本地分支和远程分支的关联
git branch -t[--track] branch-name origin/branch-name
// 建立已有本地分支和远程分支的关联(若不指定branch-name则使用当前分支)
git branch --set-upstream-to=origin/branch-name branch-name
// 清除本地分支与远程分支的关联(若不指定branch-name则使用当前分支)
git branch --unset-upstream branch-name
// 从远程抓取分支
git pull
// 删除远程分支
git push origin --delete branch-name
// 删除远程分支后,本地的对应远程分支依然存在,使用以下命令进行删除(其中参数-p为prune修剪的意思)
git fetch -p
分支管理
// 查看分支
git branch
// 创建分支
git branch branch_name
// 切换分支
git checkout branch_name
// 创建并切换分支
git checkout -b branch_name
// 合并另一个分支的内容到当前分支
git merge branch_name
// 删除分支
git branch -d branch_name
// 保存工作现场,清空工作区
git stash
// 恢复最近一次保存的工作现场,并删除保存记录
git stash pop
查看相关信息
// 查看版本库工作区状态
git status
// 查看文件的修改
git diff
// 查看提交历史
git log --graph --pretty=onelien --abbrev-commit
// 查看命令历史
git reflog
// 查看远程库信息
git remote -v
标签
// 查看所有标签
git tag
// 新建一个标签(默认为HEAD,也可以指定一个commit_id)
git tag tag_name
// 指定标签信息
git tag -a tag_name -m ""
// 推送一个本地标签
git push origin tag_name
// 推送全部未推送过的本地标签
git push origin --tags
// 删除一个本地标签
git tag -d tag_name
// 删除一个远程标签
git push origin :refs/tags/tag_name
暂存
git stash
git stash list
git stash pop
git stash apply stash@{0}
git clear