git命令大全

1:情景:公司需要远程代码回滚:发现 git merge my-branch到master的时候把我的分支上的所有提交都带过来了,回滚找tag和commit的时候特别麻烦。
   解决:1. 总是使用 git merge --no-ff 而不是 git merge 
           记录下分支的变更历史。
        2. 恰当的使用 git pull --rebase 避免不必要的merge记录。 

啊

批量删除git本地分支
    git branch |grep 'hotbug'|xargs git branch -D
grep
grep 可以用于在文件或流中查找匹配的结果,  
    如grep 'abc' **/**.py查找当前目录下全部含有'abc'字符串的文件   
    并打印出结果
xargs
    将前命令的执行结果作为参数传递给后一条命令。此处,  
    我们是将所有含'dev'字符的分支名传递给git br -d`
2、git pull 失败 ,提示:fatal: refusing to merge unrelated histories
背景:合并pull两个不同的项目,我在Github新建一个仓库,写了License,  
    然后把本地一个写了很久仓库上传。先pull,因为两个仓库不同,发现  
    refusing to merge unrelated histories,无法pull 
解释:这是因为远程仓库origin上的分支master和本地分支master  
     被Git认为是不同的仓库,所以不能直接合并,  
     要把两个不同的项目合并,  
     git需要添加一句代码,在git pull,
     需要添加--allow-unrelated-histories
    git pull origin master --allow-unrelated-histories
3、分支重命名
在git中重命名远程分支,其实就是先删除远程分支,然后重命名本地分支,  
再重新提交一个远程分支,所以重点在于本地分支的重命名
        git branch (-m | -M) <oldbranch> <newbranch>:
        大m和小m都可以
        git branch -M aaa feature-20180516-becomegood
4、远端分支更新了,但是本地查看远端还存在远端已经删除的分支
    背景:加入git服务器的某个分支删除了,但是本地通过git branch -a  
         还可以看到,更新分支
    git fetch origin --prune 或者 git remote prune
    // 会与远程库进行一次同步,最终清理掉.git文件中的不存在的远端分支,  
    //但本地工作区中的分支并不会删除。简单说可以刷新本地仓库与远程仓库的保持  
    //这些改动的同步
    git remote show origin
    //查看有关于origin的一些信息,包括分支是否tracking。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值