git分支

从已删除的远程分支获取原点?

我是研究僧i 提交于 2020-02-28 08:40:29
当我执行 git fetch origin 并且origin有一个已删除的分支时,它似乎不会在我的存储库中更新它。 当我做 git branch -r 它仍然显示 origin/DELETED_BRANCH 。 我怎样才能解决这个问题? #1楼 来自 http://www.gitguys.com/topics/adding-and-removing-remote-branches/ 有人从远程存储库中删除分支后,当用户执行git pull或git fetch时,git不会自动删除本地存储库分支。 但是,如果用户希望从远程存储库中删除的本地存储库中删除所有跟踪分支,则可以键入: git远程修剪原产地 注意, git fetch -p 的-p param实际上意味着“修剪”。 无论您选择哪种方式,都将从本地存储库中删除不存在的远程分支。 #2楼 这对我有用。 git remote update --prune #3楼 您需要执行以下操作 git fetch -p 以便同步您的分支列表。 git手册 说 -p , - --prune 获取后,删除远程不再存在的任何远程跟踪引用。 如果仅由于默认标记自动跟踪或由于 --tags 选项而提取标记,则不对其进行修剪。 但是,如果由于显式refspec(在命令行或远程配置中,例如,如果使用 --mirror 选项克隆远程)而 --mirror

Git合并分析

爷,独闯天下 提交于 2020-02-28 03:50:03
合并代码时经常会遇到重读,形式如下: <<<<<<< HEAD code_a',是自己提交(commit)的代码 ======= code_a,是服务器拉下来的代码 >>>>>>> XXXXXXXX XXXX一般是hi一串代表版本号的哈希值,表示一个节点(node1) code_a' ,是本地修改过的,当前分支(head)的可能和另外一个分支节点(node1)上的内容 code_a 冲突。 如果要使用自己当前分支的内容 就把下面内容都删掉,包括符号<<<<<<< HEAD ======= >>>>>>> XXXXXXXX <<<<<<< HEAD ======= code_a,是服务器拉下来的代码 >>>>>>> XXXXXXXX 保留下面的内容即可 code_a',是自己提交(commit)的代码 如果要使用冲突分支节点的内容 就把下面内容都删掉,包括符号<<<<<<< HEAD ======= >>>>>>> XXXXXXXX <<<<<<< HEAD code_a',是自己提交(commit)的代码 ======= >>>>>>> XXXXXXXX 保留下面的内容即可 code_a,是服务器拉下来的代码 来源: oschina 链接: https://my.oschina.net/InfoInit/blog/3156153

git 分支的用途理解

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-27 09:02:47
要多用分支 一个分支就是一个功能的修改,中间可以合并一系列的提交 在所有修改功能调试好以后,合并为一个提交。然后再合并到master上 这样一个功能的修改就是master上的一次提交 来源: oschina 链接: https://my.oschina.net/formatkm/blog/3167019

IDEA之Git分支以及Stash使用

别等时光非礼了梦想. 提交于 2020-02-27 02:38:37
随着公司开发人员的增加,以及多需求的并行开发,功能上线就会碍手碍脚;害怕自己没写完的代码被别人部署到线上,害怕别人代码没写完被自己部署到线上;总之功能上线之前还要和所有开发沟通,能不能部署代码?如果只是几个人的团队倒也无妨,但是开发人员多了,沟通成本就很高了。于是 Git 的分支就发挥它的作用了,本文讲解工作中使用 IDEA 进行分支的管理以及合并,以及其他 Git 使用技巧。 环境准备 为了演示,先用 IDEA 创建一个简单工程,提交到 git 远程仓库当中。 dev-100 分支创建 现在接到了一个编号为 100 的需求,我们在 master 基础上,创建 dev-100 分支 创建新分支 dev-100的同时,并切换到 dev-100 分支。 dev-100 分支代码开发 在 dev-100 分支编写需求编号为 100 的 功能,代码完成后进行 commit 以及 push ( 如果这个分支只有你一个人在开发的话,就不用 push 到远程分支了,只需要 commit 即可 ) 分支合并 现在我们要把 dev-100 分支上的代码合并到 master 主分支上 先切换到 master 分支 合并 dev-100 分支到 master 分支之前,建议先对 master 代码进行 pull 更新操作,然后再执行 Merge into Current 如果没有冲突,dev-100

IDEA之Git分支以及Stash使用

自古美人都是妖i 提交于 2020-02-27 02:38:08
环境准备 为了演示,先用 IDEA 创建一个简单工程,提交到 git 远程仓库当中。 dev-100 分支创建 现在接到了一个编号为 100 的需求,我们在 master 基础上,创建 dev-100 分支 创建新分支 dev-100的同时,并切换到 dev-100 分支。 dev-100 分支代码开发 在 dev-100 分支编写需求编号为 100 的 功能,代码完成后进行 commit 以及 push ( 如果这个分支只有你一个人在开发的话,就不用 push 到远程分支了,只需要 commit 即可 ) 分支合并 现在我们要把 dev-100 分支上的代码合并到 master 主分支上 先切换到 master 分支 合并 dev-100 分支到 master 分支之前,建议先对 master 代码进行 pull 更新操作,然后再执行 Merge into Current 如果没有冲突,dev-100 中的代码就会被合并到 master 分支上了,合并成功后,需要 push 才能推送到远程仓库 取消分支合并 合并完成后,但是由于一些问题,我们想要取消本次合并,右键 git,选择 Reset HEAD HEAD^ 是还原到上一个版本,HEAD^^ 是还原到上上一个版本。 Reset Type 有三种: mixed 默认方式,只保留源码,回退commit和index信息 soft

拉动后将已提交(但未推送)的更改移动到新分支

陌路散爱 提交于 2020-02-26 11:53:39
我已经完成了相当多的工作(“你的分支在37次提交之前超过了'origin / master'。”)这真的应该进入自己的分支而不是 master 。 这些提交只存在于我的本地机器上,并没有被推送到 origin ,但情况有点复杂,因为其他开发人员一直在推动 origin/master ,我已经取消了这些更改。 如何追溯将我的37个本地提交移动到新分支? 根据文档,似乎 git rebase --onto my-new-branch master 或 ...origin/master 应该这样做,但两者都只是给我错误“致命:需要单个修订”。 man git-rebase 只字未提提供修订 rebase 及其例子不这样做,所以我不知道如何解决这个错误。 (请注意,这 不是 将现有的,未完成的工作移动到Git中的新分支 或 如何将我的本地未提交的更改合并到另一个Git分支中 的重复 ? 因为这些问题涉及本地工作树中未提交的更改,而不是具有的更改已在当地承诺。) #1楼 关于什么: 从当前的HEAD分支。 确保你是 主人 ,而不是你的新分支。 git reset 在开始进行更改之前 git reset 为上一次提交。 git pull 重新拉出你重置时丢弃的远程更改。 或者,当您尝试重新合并分支时,这会爆炸吗? #2楼 或者,在您提交错误的分支后,执行以下步骤: git log git

git 基础知识

被刻印的时光 ゝ 提交于 2020-02-21 11:23:09
目录 一、git 有三个分区 二、git 基本操作 1、克隆—git clone 2、拉取—git fetch / git pull 3、查看—git status / git diff 4、提交—git add / git commit / git push 5、日志—git log / git reflog 6、删除—git rm 7、撤销回复—git checkout / git reset / git revert 8、覆盖—git commit --amend 三、git 分支管理 1、查看分支—git branch 2、创建分支—git branch 3、切换分支—git checkout 4、删除分支—git branch -d 5、合并分支—git merge 一、git 有三个分区 工作区: 就是你在电脑里能看到的目录(代码编辑区)。 暂存区: 一般存放在 ".git目录下" 下的index文件中(过渡层,避免误操作)。 版本库: 工作区有一个隐藏目录.git (本地仓库,专门控制版本)。 另外还有一个 远程仓库 :比如GitHub上的库。 他们之间的关系如下: 二、git 基本操作 1、克隆—git clone 从远程仓库克隆代码到版本库(本地仓库)。 2、拉取—git fetch / git pull git fetch:将更新后的远程仓库中的代码

gitlab-ce 备份还原 迁移新系统

狂风中的少年 提交于 2020-02-21 09:34:39
https://blog.csdn.net/foupwang/article/details/94362292 迁移前首先要保证新旧服务器上的GitLab版本号一致。 查看当前GitLab版本 cat /opt/gitlab/embedded/service/gitlab-rails/VERSION 显示为 10.3.3。 1 新服务器升级系统 内核和软件一起升级 yum -y update 升级完成后查看系统版本号 cat /etc/redhat-release 输出如下:CentOS Linux release 7.6 2 新服务器上安装GitLab 安装教程在这里 安装完成后,最新版本的GitLab是 12.0.1。相当于说,要在旧服务器上把GitLab从10.3.3升级到12.0.1。 3 旧服务器升级GitLab GitLab不能跨版本升级,需一个一个大版本升级。例如:10.8.7是10的最后一个版本,11.11.0是11的最后一个版本,则从 10.3.3 升级到 12.0.1,需要经过 10.3.3 -> 10.8.7 -> 11.11.0 -> 12.0.1。。 yum install -y gitlab-ce-10.8.7-ce.0.el7 yum install -y gitlab-ce-11.11.0-ce.0.el7 yum install -y gitlab

SourceTree安装与使用方法

对着背影说爱祢 提交于 2020-02-19 03:12:56
一 、SourceTree简介 SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,拥有可视化界面,容易上手操作。同时它也是Mercurial和Subversion 版本控制 系统工具。支持创建、提交、clone、push、pull 和merge等操作。 二、下载安装SourceTree步骤 1、下载地址: https://www.sourcetreeapp.com/ ,该版本是中文的 下载完成后可以进行安装。 2、安装SourceTree 安装首界面 点击,Next 点击“install”,安装完成后,打开sourcetree,点击“user an existing account”,如图 注意:1使用谷歌帐号登录即可,前提是你必须可以上谷歌才可以。 GOOGLE帐号登录完成之后,如图: 此处无需设置,直接点击“跳过初始设置”即可。 登录注册成功后,弹出设置puttykey的界面,点击“取消”即可。 点击“取消”按钮,弹出如下提示框: 此时进入到sourcetree的主界面,现在就可以使用sourcetree啦。 三、集成文件对比插件 安装对比插件 Sourcetree中集成Beyond Compare 4,当文件冲突时可以很好的解决冲突。安装过程很简单,这里不再详述。 Sourcetree中配置Beyond Compare 4

git工作流(Gitflow/gitlab代码权限管理)

心不动则不痛 提交于 2020-02-15 07:58:07
现状 团队之前使用SVN进行代码管理,也没有很好的利用分支管理代码版本。版本冲突问题比较严重,版本库里的代码不能作为稳定代码。 开发人员永远不知道生产上代码长啥样(环境上是编译后的jar),提测需要跟测试版本比较,上生产需要跟生产版本比较,混乱的一匹。 基于以上原因(尽管svn也有办法解决版本问题),直接在团队里推行了git版本管理,部署了gitlab做管理工具,并参考了网上各种资料以及以前公司的处理经验,制定了一套代码管理方案。 解决方案 基于gitlab进行的代码权限、流程管理 代码分支 master分支 生产代码版本 qa分支 测试代码版本 dev-xxx 开发代码版本(xxx表示版本号) gitlab角色 gitlab角色 team身份 fork团队代码 提交到个人仓库 申请合并到团队仓库开发分支 合并到团队开发分支 申请合并到团队qa分支 合并到团队qa分支 申请合并到master分支 合并到团队master分支 备注 Reporter 开发人员 √ √ √ Developer 项目leader √ √ √ √ √ Master 测试人员 √用不到 √用不到 √用不到 √用不到 √用不到 √ √ √ 代码开发管理流程图 来源: https://www.cnblogs.com/coderzl/p/7491143.html