git 一个分支完全覆盖另一个分支】的更多相关文章

1,git push origin develop:master -f就可以把本地的develop分支强制(-f)推送到远程master 2,git checkout master // 切换到旧的分支git reset –hard develop // 将本地的旧分支 master 重置成 developgit push origin master –force // 再推送到远程仓库…
假设每个人有个开发分支,想隔一段时间就把自己的开发分支上的代码保持和测试分支一直,则需要如下操作: 1.我想将test分支上的代码完全覆盖dev分支,首先切换到dev分支git checkout dev2.然后直接设置代码给远程的test分支上的代码git reset --hard origin/test 3.执行上面的命令后dev分支上的代码就完全被test分支上的代码覆盖了,注意只是本地分支,这时候还需要将本地分支强行推到远程分支.git push -f…
https://ariejan.net/2010/06/10/cherry-picking-specific-commits-from-another-branch/ http://blog.csdn.net/ybdesire/article/details/42145597 经常被问到如何从一个分支合并特定的commits到另一个分支.有时候你需要这样做,只合并你需要的那些commits,不需要的commits就不合并进去了. 合并某个分支上的单个commit 首先,用git log或GitX…
情况描述: 公司的svn版本库,包含了多个项目,每个项目对应于1个文件夹 假设版本库名字为Main,其下的项目用 A项目,对应文件夹A B项目,对应文件夹B 通过git svn clone获取了svn的整个版本库Main 这样得到的是整个Main的提交历史 之后,在A上面开发了一段时间,并且git svn dcommit到svn上 因为某些原因,创建了一个分支branchA,在branchA上进行了开发.但是无法提交到svn上 B上面也进行了一段时间的开发,并提交了很多日志 现在需要把A项目作为…
经常被问到如何从一个分支合并特定的文件到另一个分支.其实,只合并你需要的那些commits,不需要的commits就不合并进去了. 合并某个分支上的单个commit 首先,用git log或sourcetree工具查看一下你想选择哪些commits进行合并,例如: 比如feature 分支上的commit 82ecb31 非常重要,它含有一个bug的修改,或其他人想访问的内容.无论什么原因,你现在只需要将82ecb31 合并到master,而不合并feature上的其他commits,所以我们用…
之前公司git分支混乱,今天花时间整理了一下,在合并分支的时候遇到一个问题: 一个很久没有拉取远程代码的分支与master分支合并时,出现冲突之外,还会丢失文件,很头疼,然后找到了下面的方法,可以直接将一个分支替换另一个分支 git push origin develop:master -f 把本地的 develop 分支强制(-f)推送到远程 master 但是上面操作,本地的 master 分支还是旧的,通常来说应该在本地做好修改再去 push 到远端,所以我推荐如下操作 git check…
1.先将本地分支回滚到上一个版本 2.删除远程分支(可以先备份一下) 3.创建新的分支,将本地分支push上去…
亲测可用 因为自己 commit 并且 push 后 因为冲突 提交不了,不小心做了 rebase 代码被 覆盖 用以下命令 还原: 查看所有日志 并记下 hash 值 git reflog 然后用: git reset --hard 记下的hash值 然后打开 eclipse 刷新一下代码就回来了. 在使用Git的过程中,有时可能会有一些误操作 比如:执行checkout -f 或 reset -hard 或 branch -d删除一个分支 结果造成本地(远程)的分支或某些commit丢失 可…
转:解决git rebase操作后推送远端分支不成功的问题 前段时间在工作中同事在rebase时遇到一个问题来问我,今天突然想起来觉得有必要记录一下. 在我们日常工作中,经常使用git座位代码管理工具,而且一个项目通常由多人开发,我当时所在组的git管理策略是master分支作为主干的无bug分支(测试验证通过),每个开发在自己的个人分支上进行开发,当开发完毕时rebase master分支,然后进行提测,测试通过后,再发起merge request合并到maste分支,这样就可以保证maste…
一.git新建分支,上传代码到新的不同分支  我要实现的效果,即是多个内容的平行分支:这样做的主要目的是方便统一管理属于同一个内容的不同的项目,互不干扰.如图所示: 前提是我的github上已经有webpack_test项目了,我是在这个项目的基础上新建其他的分支并开展工作的.如图: 如果你对如何新建webpack_test项目不清楚,请参考我的前一篇文章:git入门学习(一):github for windows上传本地项目到github,操作步骤如下: 1.1.保留webpack_test项…
一般我们发布一个新版本到线上服务器时都会在版本库中打一个标签,这样我们可以随时查看这个打标签的版本,就是说标签其实是版本库中一个快照.git的标签与分支类似,区别是分支是可变的而标签是不可变.接下来我们介绍如何获取远程仓库中某个标签所指向的版本. 1.如果我们git clone了整个远程仓库,此时我们可以通过指令 git checkout tag_name 就可以获取到tag对应的代码了,但因为tag相当于一个快照,它的代码是不能被修改的. 2.如果需要对tag指定的版本进行修改,我们可以为其建…
基础 1,"master" 与"origin" “master” 是当你运行 git init 时默认的起始分支名字,原因仅仅是它的广泛使用,“origin” 是当你运行 git clone 时默认的远程仓库名字. 远程分支以 「远程仓库名/远程分支名」 方式命名.如果你运行 git clone -o booyah 那么你默认的远程分支名字将会是 booyah/master. 注意:本地仓库名(本地根目录名),远程仓库名(服务器上的仓库名),本地默认分支名(mast…
http://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%AE%80%E4%BB%8B 基础 Git 研发组织鼓励开发人员频繁地创建和使用分支. HEAD是一个指针,指向当前所在的本地分支(译注:将 HEAD 想象为当前分支的别名). master是默认分支名 . f30ab-->34ac2--->98ca9 是一系列提交的历史结点,每个提交结点对应一组文件快照(图中Snapshot A,B,C).每个…
▓▓▓▓▓▓ 大致介绍 几乎所有的版本控制系统都会支持分支操作,分支可以让你在不影响开发主线的情况下,随心所欲的实现你的想法,但是在大多数的版本控制系统中,这个过程的效率是非常低的.就比如我在没有学习Git之前,想实现我的一个小想法,但是又害怕影响已完成的工作,只有ctrl+c.ctrl+v,但是在Git中,甚是方便了许多. 这篇博客主要讲以下几部分: ◆ 创建分支 ◆ 合并分支 ◆ 删除分支 ▓▓▓▓▓▓ 创建分支 在之前的学习中,都只有一个分支即 master分支 这是Git中主分支的默认名…
来自:https://www.cnblogs.com/bluestorm/p/6252900.html 侵删 git branch(分支命令的使用http://hbiao68.iteye.com/blog/2055493 0.可以通过git branch -r 命令查看远端库的分支情况 1,从已有的分支创建新的分支(如从master分支),创建一个dev分支 git checkout -b dev 2,创建完可以查看一下,分支已经切换到dev git branch * dev master 3.…
同样需要先来明确两件事: HEAD指针指向的是当前分支 分支(master, dev)指向的是最新的提交 一开始,git 中只有一个master分支,严格来讲,HEAD不是指向提交而是指向master,master才是指向提交的,HEAD指向的是当前分支:…
实际开发中的分支 目前的快照情况:git log --decorate --all --oneline --graph 可以看到,目前HEAD是指向的master分支 合并分支:git merge 分支名(将“分支名”合并到当前分支) 把feature分支合并到master分支:git merge feature 有冲突时合并的话git会提示,这个时候只需要执行git status就可以看到有哪些冲突了,以及建议的解决方案 查看log,可以看到,已经合并了 再创建个分支:git checkout…
git的分支 与svn对比 克隆一份全新的目录以同样拥有 5 个分支来说,SVN 是同时复制 5 个版本的文件,也就是说重复 5 次同样的动作.而 Git 只是获取文件的每个版本的元素,然后只载入主要的分支(master),如果克隆一个拥有将近一万个提交(commit),5 个分支,每个分支有大约 1500 个文件的 SVN,耗了将近 1 小时!而 Git 只用了区区的 1 分钟!60倍的速度 创建分支:git branch 分支名 使用:git log --decorate查看 --decor…
什么是 git-flow? Git Flow是一套使用Git进行源代码管理时的一套行为规范 主分支Master 首先,代码库应该有一个.且仅有一个主分支.所有提供给用户使用的正式版本,都在这个主分支上发布.Git主分支的名字,默认叫做Master.它是自动建立的,版本库初始化以后,默认就是在主分支在进行开发. 开发分支Develop 主分支只用来分布重大版本,日常开发应该在另一条分支上完成.我们把开发用的分支,叫做Develop 这个分支可以用来生成代码的最新隔夜版本(nightly).如果想正…
经常被问到如何从一个分支合并特定的文件到另一个分支.其实,只合并你需要的那些commits,不需要的commits就不合并进去了. 合并某个分支上的单个commit 首先,用git log或sourcetree工具查看一下你想选择哪些commits进行合并,例如: 比如feature 分支上的commit 82ecb31 非常重要,它含有一个bug的修改,或其他人想访问的内容.无论什么原因,你现在只需要将82ecb31 合并到master,而不合并feature上的其他commits,所以我们用…
先来复习一波,git的最佳分支管理流程: 再简单复习各个分支: master: 主分支,主要用来版本发布. develop:日常开发分支,该分支正常保存了开发的最新代码. feature:具体的功能开发分支,只与 develop 分支交互. release:release 分支可以认为是 master 分支的未测试版.比如说某一期的功能全部开发完成,那么就将 develop 分支合并到 release 分支,测试没有问题并且到了发布日期就合并到 master 分支,进行发布. hotfix:线上…
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息. 如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息. 下面我们实战一下--no-ff方式的git merge: 首先,仍然创建并切换dev分支: $ git checkout -b dev Switched to a new branch 'dev' 修改readme.txt文件,并提交一个新的commit…
1. 如果分支只是本地分支,则可以使用 -d (如果分支已合并),例如 git branch -d <branch name>如果分支包含不计划合并的代码,请改用 -D (即使有没有merge的代码,也会删除分支). 2. 如果分支在上游仓库(在Bitbucket上), 可以通过删除远程引用 git push origin :<branch name> 此外,如果您在Bitbucket网站上,可以通过转到网站上"提交"下的功能"分支"标签,删…
GitHub就是一个免费托管开源代码的远程仓库,个人可以把代码寄存处上面,不过会被公开.对于商业公司来说在Linux上搭建一台Git服务器作为私有仓库使用.开发人员在本地下载仓库代码,协同开发.本篇介绍服务器搭建与Git基本命令的使用. 一.服务器搭建步骤如下: 1.安装git依赖包 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker 2.删除已…
软件开发中,bug 就像家常便饭一样.有了 bug 就需要修复,在 Git 中,由于分支是如此的强大,所以,每个 bug 都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除. 当你接到一个修复一个代号 101 的 bug 的任务时,很自然地,你想创建一个分支 issue-101 来修复它,但是,等等,当前正在 dev 上进行的工作还没有提交: $ git status # On branch dev # Changes to be committed: # (use "git…
在使用git commit命令将修改从暂存区提交到本地版本库后,只剩下最后一步将本地版本库的分支推送到远程服务器上对应的分支了,如果不清楚版本库的构成,可以查看我的另一篇,git 仓库的基本结构. git push的一般形式为 git push <远程主机名> <本地分支名>  <远程分支名> ,例如 git push origin master:refs/for/master ,即是将本地的master分支推送到远程主机origin上的对应master分支, orig…
之前在做项目的时候,自己想将东西传到远程的一个新分支上.自己开始弄的时候稀里糊涂弄上去的也没搞清楚原理,不过自己后来又去试了一下,发现下面这个方法还可以. (1)在本地的一个目录下,git bash (2)然后进行git init,生成.git文件 (3)git add . (4)git commit -m"xxx"(这时候本地就有master分支了) (5)git checkout -b 新分支名 (创建并切换到分支下) (6)修改本地工作目录 (7)然后git add . (8)g…
============================================ 明确一点: 如果项目交给git管理了[如何将项目交给git管理:https://www.cnblogs.com/sxdcgaq8080/p/8058898.html] 1.若文件显示红色,表示文件未add到git进行管理 2.若文件显示绿色,表示文件已经交给git管理,但从未上传到远程仓库中 3.若文件显示蓝色,表示文件已经上传过远程仓库,且此时本地文件与远程仓库文件不一致 4.若文件显示白色,表示文件与远…
GIT学习笔记(3):分支管理 何谓分支 GIT是如何存储数据的 GIT不是存储文件差异或者变化量,而是一系列文件的快照.在Git提交时,会保存一个提交(commit)对象,该对象包含一个指向暂存内容快照的指针,它大概是这样子的. 三个表示文件快照内容的 blob 对象:一个记录着目录树内容及其中各个文件对应 blob 对象索引的 tree 对象:以及一个包含指向 tree 对象(根目录)的索引和其他提交信息元数据的 commit 对象. 多个提交对象之间是链接关系,每个提交对象会指向上一个提交…
本文主要介绍git分支的概念及常用分支操作. 分支的概念 所谓分支,可以理解成一个个相互独立的工作空间,在每一个分支上的改动不会影响到其他分支的代码.git默认的分支是master分支. 试想一下这样一个场景: 正在master分支写主干需求的代码,突然来了一个很紧急的临时需求,需要在一周之内完成.如果在master分支直接开发的话,可能会造成主干需求的代码出现问题,这个时候就可以新拉一个分支(比如叫dev),dev分支的初始代码和master分支的完全相同,这个时候就可以放心的在dev分支上开…