GIT 常用命令

GIT 常用命令

获取git 配置信息的命令

git config --list

git config --global user.name “user”

git config --global user.name “user@gmail.com”

git init

相当于在本地建立一个.git目录

git status

git status -s:-s表示short,-s输出标记有两列,第一列是staging,第二列是working

git log

git log --oneline --number 每条log只显示一行,显示number条

git log --oneline --graph 图形化显示分支合并历史

git log --author=xxx 根据作者划分提交

git log --no-merges 根据有没有合入划分提交

git log --stat 改动的相对信息

git log -p 将每一笔提交之间的差异做成patch显示

git diff

不加参数的git diff:

次命令比较的是工作目录和暂存区域快照之间的差异,就是修改之后没有add的内容

git diff --cached

暂存文件和上次提交之间的差异

git diff HEAD

比较工作目录下的文件与commit提交之间所有的改动

git commit -a 会把所有追踪的文件自动add进来,然后提交

git commit --amend提交上一次的commit,针对同一个父节点,删除之前的提交

git reflog 查看所有的commit ID

git reset HEAD

git reset HEAD --filename可以将某一个文件从staged状态取出来

git reset --mixed id,是将git的HEAD变了(也就是提交记录变了),但文件并没有改变,(也就是working tree并没有改变). 取消了commit和add的内容.

git reset --soft id 相当于reset之后有做了一次git add,相当于取消了commit的内容

git reset --hard id相当于将git 的HEAD变了,文件的修改也回退了

git revert HEAD

相当于push的反操作

git rm

git rm file :从staging中移除文件,同时移除working space

git rm --cached 从功能上等同于git reset HEAD,清楚了缓冲区,但是不动功能工作目录树

git clean -df

可以清除目录中没有track的文件

git fetch

fetch将会取到所有你本地没有的数据,所有取下来的分支可以被叫做remotebranches,它们和本地分支一样(可以看diff,log等,也可以merge到其他分支),但是Git不允许你checkout到它们.

git pull

git pull会首先执行git fetch,然后执行git merge,把取来的分支的head merge到当前分支.这个merge操作会产生一个新的commit. 如果使用–rebase参数,它会执行gitrebase来取代原来的git merge

git merge出现冲突可以 rebase到最新的父节点,解冲突再重新merge

eg:

git fetch korg

git checkout -b tmp korg/linux4.14

这样本地的tmp分支就是最新节点了

再git cherry-pick 两笔提交到本地, 再git push

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值