zoukankan      html  css  js  c++  java
  • Git clone、git reset、git push --mirror

    一,git clone

    1,git clone某一个分支

    git clone -b <branch> <remote_repo>

    2,.git 文件太大 :clone的时候,可以指定深度,如下,为1即表示只克隆最近一次commit.

    git clone git://xxoo --depth 1

    3,拉取所有分支代码到本地

     git clone 后

    git branch -r | grep -v '->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done
    git fetch --all
    git pull --all

    二,撒销一个合并

    如果你觉得你合并后的状态是一团乱麻,想把当前的修改都放弃,你可以用下面的命令回到合并之前的状态:

    $ git reset --hard HEAD

    或者你已经把合并后的代码提交,但还是想把它们撒销:

    $ git reset --hard ORIG_HEAD

    但是刚才这条命令在某些情况会很危险,如果你把一个已经被另一个分支合并的分支给删了,那么 以后在合并相关的分支时会出错。

    三,仓库迁移

    1,仓库迁移,并不丢失log的方法;

    $ git remote -v     //git remote命令列出所有远程主机。 使用-v选项,可以参看远程主机的网址
    $ git remote rm origin   // 删除远程主机

    $
    git remote set-url origin remote_git_address //remote_git_address更换成你的新的仓库地址

    
    

     git remote add origin git@10.XX.XX.XX:XXXX-XXXX

     

    2, 一次性迁移所有仓库;

     

    checkout 所有需要迁移的分支到本地;

     

    $  git push --mirror   git@XX.XX.XX.XX:XXXX.git 

    3, 修改commit的message

    $ git commit --amend  //然后修改第一行的message

     

    
    

    四,git stash

     

    $ git stash

     

    $ git stash pop      # pop 是取出最新的一次暂存数据,取出后,这次数据就不会存在于暂存区中了

     

    $ git stash apply     #apply 只会读取暂存区的数据,通过 apply 后,暂存区的数据仍然存在;

       

    五,git ignore

    关于.ignore,请点击链接。

    如果.gitignore文件写得不是非常好,导致应该添加到版本库中的文件忘记添加。使用--ignored参数可以查看被忽略的文件。

    $ git status --ignored -s  

    六 。 整体删除

    git branch -a | grep -v -E 'master|develop' | xargs git branch -D  //整体删除

    git branch -a | grep -v -E 'v1.2.1.0.0.3.191012.1|v1.2.0.0927.1v0.0.2.190917.1|v1.2.0.0927.1' | xargs git branch -D 

    git tag | grep -v -E 'v1.2.1.0.0.3.191012.1|v1.2.0.0927.1v0.0.2.190917.1|v1.2.0.0927.1' | xargs -I {} git push origin :refs/tags/{}

     

    ************************************************************************

    GitHub 教程系列文章: 

    通过GitHub创建个人技术博客图文详解  http://www.linuxidc.com/Linux/2015-02/114121.htm

    GitHub 使用教程图文详解  http://www.linuxidc.com/Linux/2014-09/106230.htm 

    Git 标签管理详解 http://www.linuxidc.com/Linux/2014-09/106231.htm 

    Git 分支管理详解 http://www.linuxidc.com/Linux/2014-09/106232.htm 

    Git 远程仓库详解 http://www.linuxidc.com/Linux/2014-09/106233.htm 

    Git 本地仓库(Repository)详解 http://www.linuxidc.com/Linux/2014-09/106234.htm 

    Git 服务器搭建与客户端安装  http://www.linuxidc.com/Linux/2014-05/101830.htm 

    Git 概述 http://www.linuxidc.com/Linux/2014-05/101829.htm 

    分享实用的GitHub 使用教程 http://www.linuxidc.com/Linux/2014-04/100556.htm 

    GitHub 的详细介绍请点这里 

    GitHub 的下载地址请点这里

  • 相关阅读:
    模版继承
    用一个指向int的指针来存储一个对象的地址。
    mysql 增 删 改 查
    虚函数背后的秘密2
    二叉树的应用—最优二叉树(哈夫曼树)
    虚函数
    经典贪心,哈夫曼编码。
    以下代码有什么问题?
    前缀运算和后缀运算
    虚函数背后的秘密
  • 原文地址:https://www.cnblogs.com/developer-qin/p/6068531.html
Copyright © 2011-2022 走看看