一,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 的下载地址请点这里

Git clone、git reset的更多相关文章

  1. 在linux下执行git clone、git pull 、git push等操作免密

    1. 通过ssh密钥实现 ssh-keygen -t rsa -C "你的邮箱" -f "自己定义的目录" 打开: id_rsa.pub ,将文件内容复制到 g ...

  2. git clone、git pull和git fetch的用法及区别

    声明:码字不易,转载请注明出处,欢迎文章下方讨论交流.Git 常用命令速查表 最近在一个学习小组里学习AI的课程,我们所有的学习资料和homework都放在gitlab上.今天一个小队友从gitlab ...

  3. git clone、 remote、fetch、pull、push、remote

    git clone命令笔记 作用:远程克隆版本库 1. 克隆版本库 git clone <版本库的网址> git clone zoran@192.168.2.167:/data/gitda ...

  4. git clone 和 git pull 代码无响应

    记录一下今天 git 拉代码遇到的一些异常情况: 无论是项目目录下 git pull 还是直接 git clone 都不能正常拉代码: 异常情况1 ssh: connect to host gitee ...

  5. Git(6)-- 记录每次更新到仓库(git clone、status、add、diff、commit、rm、mv命令详解)

    @ 目录 1.克隆现有仓库:git clone 2.检查当前文件状态 :git status 3.跟踪新文件:git add 4.暂存已修改的文件:git add 5.状态简览: git status ...

  6. git pull 、git fetch、 git clone

    git clone 代表从远程克隆过来包括所有的版本信息 git fetch是从远程获取最新的版本 git pull相当于 git fetch 然后再git merge

  7. Git知识总览(一) 从 git clone 和 git status 谈起

    本篇博客是整理git相关知识的第一篇,因为之前一直是用SourceTree对Git的命令行操作用的不是特别熟,于是乎过了一遍ProGit(链接:https://git-scm.com/book/zh/ ...

  8. git详情、git工作流程、常用命令、忽略文件、分支操作、gitee远程仓库使用

    今日内容概要 git详情 git工作流程 git常用命令 过滤文件 分支操作 git远程仓库使用 可参照:https://www.cnblogs.com/liuqingzheng/p/15328319 ...

  9. Git使用、Git配置、Git提交代码、Git上传

    非教程,只是自己的一个简单笔记.建议没有入门的朋友,直接看git的官方help文档: https://help.github.com/articles/set-up-git 1.注册一个git账号,超 ...

随机推荐

  1. Python数据可视化-seaborn

    详细介绍可以看seaborn官方API和example galler. 1  set_style( )  set( ) set_style( )是用来设置主题的,Seaborn有五个预设好的主题: d ...

  2. PGPDesktop在win7环境下的安装和使用

    PGPDesktop在win7环境下的安装和使用 PGP的简介 PGP(Pretty Good Privacy),是一个基于RSA公钥加密体系的邮件加密软件,它提供了非对称加密和数字签名,是目前非常流 ...

  3. python基础之可变数据类型与不可变数据类型

    一.什么可变数据类型和不可变数据类型 可变数据类型:value值改变,id值不变:不可变数据类型:value值改变,id值也随之改变. 二.如何确定一种数据类型是可变的还是不可变的 根据可变数据类型与 ...

  4. java 序列化和反序列化的实现原理

    老是听说序列化反序列化,就是不知道到底什么是序列化,什么是反序列化?今天就在网上搜索学习一下,这一搜不要紧,发现自己曾经用过,竟然不知道那就是JDK类库中序列化和反序列化的API. ----什么是序列 ...

  5. qt5 移植 交叉编译出现错误

    类似这样的错误,当时没有完整的记下来,undefined reference to `std::__detail::_List_node_base@GLIBCXX_3.4.10 当时是在编译qt5cl ...

  6. 安卓apk的编译与反编译

    原文:https://blog.csdn.net/baidu_33870664/article/details/80186945 android基于java的,而java反编译工具很强悍,所以对正常a ...

  7. Struts2输入校验(XML方式)

    本章主要介绍struts2的XML配置方式输入校验.以下将结合一个实例程序进行说明. 代码结构: 关键代码: RegistAction.javapackage com.alfred.regist.ac ...

  8. JustOj 1032: 习题6.7 完数

    题目描述 一个数如果恰好等于它的因子之和,这个数就称为"完数". 例如,6的因子为1.2.3,而6=1+2+3,因此6是"完数". 编程序找出N之内的所有完数, ...

  9. Codeforce 287A - IQ Test (模拟)

    In the city of Ultima Thule job applicants are often offered an IQ test. The test is as follows: the ...

  10. Python+OpenCV图像处理(十二)—— 图像梯度

    简介:图像梯度可以把图像看成二维离散函数,图像梯度其实就是这个二维离散函数的求导. Sobel算子是普通一阶差分,是基于寻找梯度强度.拉普拉斯算子(二阶差分)是基于过零点检测.通过计算梯度,设置阀值, ...