Git 命令快速浏览
Git 命令快速浏览
- 创建 Git 可管理的仓库
git init
- 查看当前仓库的状态
git status
- 添加到仓库,实际上是添加到暂存区
git add [-A | --all] git add filename
- 删除到仓库
git rm filename git rm -r folder
- 把暂存区的所有内容提交到当前分支
git commit -m '此次提交的注释'
- 查看当前file与仓库当前分支下file的不同
git diff file git diff HEAD --file (与仓库中最新版本的区别)
git diff fe55d6a 112k32 > diff.txt
(查看两个历史版本的不同,写入diff.txt) - 仓库中版本的历史记录
git log git log --graph (分支合并图) git log --pretty=oneline (每条记录均以一行显示) git log --graph --pretty=oneline --abbrev-commit (合并上面两条的效果,并简化标记id号)
- 回退
git reset --hard HEAD^ (会退到上一版本,HEAD为当前版本,HEAD^为上版本,HEAD^^为上上版本) git reset --hard fe55d6a (回退到指定标记id(fe55d6a)的版本) git reset HEAD filename (把暂存区的修改撤销掉(unstage),重新放回工作区)
- 命令历史,记录每一条执行的命令
git reflog
- 绑定远程仓库
git remote add origin git:@github.com:FunnyZ/LearnAngular2.git
- 本地库推送到远程库
git push <远程仓库> <本地分支>:<远程仓库分支> git push -u origin master (-u: 不但把master分支内容推送到远程仓库master分支,还会把本地的master分支和远程仓库的master分支关联起来,指定origin为默认主机)
git push --all origin
(将本地所有分支都推送到远程仓库origin)
分支参考:
master: 主分支,时刻与远程同步
dev: 开发分支
bug: 用于在本地修复bug
feature: 某功能 - 抓取分支
git pull <远程仓库> <远程分支>:<本地分支> git pull origin next:master (抓取origin库的next分支,与本地的master分支合并)
- 克隆一个本地库
git clone <远程仓库> git clone git@git.oschina.net:xxx/xxx.git
- 查看远程仓库信息
git remote git remote -v
- 分支
git branch dev (创建dev分支) git checkout dev (切换到dev分支) git checkout -b dev (创建dev分支,并切换到dev分支) git branch (查看当前是哪个分支) git branch -a (查看所有分支,包括远程) git branch -r (查看远程仓库的分支) git branch -d dev (删除dev分支) git branch -D dev (强制删除dev分支) git merge dev (把dev分支合并到当前分支上) git merge --no-ff -m 'merge with no-ff' dev (标记禁用Fast forward,合并后的历史有分支,能看出曾做过分支合并)
- 存储当前工作现场
git stash
- 查看已存储的现场
git stash list
- 恢复现场并删除存储stash内容
git stash pop
- 恢复现场但stash内容仍存在
git stash apply[stash@{0}]
- 删除stash内容
git stash drop
- 配置别名
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.last 'log -l'
- 设置用户名
git config --global user.name 'xxxx'
- 设置电子邮件
git config --global user.email 'xxxx@xx.com'
- 查看配置
git config --list