常用git命令

 

基本操作

working area  --> stage area --> repo area

1 正常提交分两步:
git add :  将working area的修改提交stage area
git commit : 将stage area的修改提交到repo area

2 一步搞定:
git commit -am :将working area的修改提交到repo area

working area <-- stage area
1:修改了working area, 但未提交到stage area, 直接丢弃working area的修改:
git checkout -- <file>

2:修改了working area, 还提交到stage area, 想丢弃working area的修改:
git reset HEAD <file>
git checkout -- <file>

working area <-- stage area <-- repo area
1: rollback至repo area中某个历史版本
同步更新stage area和working area中的代码 
git reset --hard <commit-id>  

仅rollback commit-id, 而stage area和working area中的代码保持不变
git reset --soft <commit-id> 

2:为”撤消某个commit-id"而产生新的commit-id(仅针对指定commit-id生效)
 git revert <commit-id>
 
 用于merge commit的revert, -m 1 将使用主干的上一个版本,--m 2 将使用分支的版本
 git revert <commit-id> -m <1/2> 

日志查看 

 

git log [file-name]

-p 显示文件差异

--graph --oneline --decorate 显示当前分支的所有日志(一直向上追溯父级分支的记录)
--graph --oneline --decorate b1..b2 显示在b2分支,但不包括在b1和b2公有的历史记录的commit_id(即:仅显示b2分支的记录)
--graph --decorate --oneline --all 以树型图状查看所有分支日志
git log --graph --oneline --decorate master..test
显示: d

 

 

master => a->b -> c  

 test        |--  d
git log --graph --oneline --decorate test..master
显示: c

 

分支操作

 

创建分支
git branch <branch_name>


创建并切换分支
git checkout -b <branch_name>


删除分支
git branch -d <branch_name>
git branch <branch_name> -D


合并分支 -- 将<branch_name> 合并入当前分支
git merge <branch_name> 
--no-ff 生成分支合并commit_id,禁用fast-forward

查看分支
git branch
-a  查看远程和本地的所有分支
-v  查看分支及其的最后一次commit_id
--merged 查看已经合并入当前分支的分支
--no-merged 查看未合入当前分支的分支

创建并跟踪远程分支
git checkout -t origin/<branch_name>


删除远程分支
git push origin --delete <branch_name>


拉取远端分支 -- 拉取并合并入至本地分支中
git pull origin <branch_name>


推送本地分支
git push origin <branch_name>


分支rebase  -- 将当前分支rebase至<branch_name>中
git rebase <branch_name>


快速合并分支 -- 将<branch_name>合并入当前分支
git merge <branch_name>


分支rebase --onto A B C
取出C分支,找出处于C分支和B分支的共同祖先之后的修改,然后把它们在A分支上重放一遍


 
注:不要对在你的仓库外有副本的分支执行rebase

标签操作

列出标签
git tag


创建附注标签
git tag -a 'v1.0' -m 'v1.0' <commit-id>


显示标签信息
git show <tag_name>


推送所有标签
git push origin --tags


推送指定标签
git push origin v1.0


检出标签到分支
git checkout -b <branch_name> <tag_name>


删除标签
git tag -d <tag_name>


删除远端标签:
git push origin --delete tag <tag_name>
git push origin :<tag_name>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值