首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Git从某个分支的某次提交新建分支拉取代码

最近有个项目比较乱,新功能没有做完,develop 分支不能合并到主干,又有新的需求需要修改,但是 master 主干分支的代码又不够新。...只能从 develop 分支的某一次提交上拉取代码,到本地分支,然后进行修改,再提交合并到 master 分支。...Git 拉取某一次提交的代码版本到本地分支: git checkout -b 分之名 远程仓库的commitId 示例: git checkout -b w3h5 af161ecbd13eff1630c14f84a7395d46f5d18888...如果你是第一次参与这个项目,操作步骤如下: 首先克隆分支,将代码拉下来: git clone https://github.com/ideshun/project.git 然后进行代码版本的拉取: git... checkout -b w3h5 af161ecbd13eff1630c14f84a7395d46f5d18888 说明:每个平台的说法不同,这里的 commitId 也就是 提交 SHA ,我使用的

9.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Git 回滚到某个 commit 上及返回主分支

    代码回退# 首先要用 git log 查看回到的版本,然后用以下命令,将本地代码回退到某个版本: git reset --hard HEAD^ 回退到上个版本 git reset --hard...commit_id 退到/进到 指定 commit_id 如果需要将回退的某个版本提交远程,可执行以下命令: git push origin HEAD --force 回滚之后,想恢复到新的版本怎么办...用git reflog打印你记录你的每一次操作记录 git reflog 可以查看所有分支的所有操作记录(包括 commit 和 reset 的操作),包括已经被删除的 commit 记录, git log...返回主分支# git checkout master 参考文献# git回滚到某个commit 上和 返回最新的版本git:https://www.cnblogs.com/yu-hailong/p/10681905....html [转]Git 代码撤销、回滚到任意版本(当误提代码到本地或master分支时):https://www.cnblogs.com/wangcp-2014/p/11160125.html git

    56930

    【Git】Git 分支管理 ( 使用 git cherry-pick 命令提取提交记录应用于当前分支 | 创建新分支应用某个提交 | git cherry-pick 冲突处理 )

    文章目录 一、环境准备 二、创建新分支应用 dev2 提交 三、git cherry-pick 冲突处理 一、环境准备 ---- git cherry-pick 命令的作用是 将指定的 一个或若干个 提交记录..., 应用与当前的分支 ; 创建一个 dev 分支 , 然后在该分支中 , 编辑 file1.txt 文件 , 分别添加 4 行 文本 , 每行都提交一次 ; 执行 git reflog 查看...二、创建新分支应用 dev2 提交 ---- 执行 git switch master 命令 , 切换换到 master 分支 , 将 dev 分支中的 dev1 提交 , 作为当前分支的最新的提交内容...; f12e2d3 HEAD@{3}: commit: dev1 执行 git cherry-pick f12e2d3 命令 , 正式将 dev1 提交作为当前 master 分支的内容 ; 该操作没有冲突...> 三、git cherry-pick 冲突处理 ---- 在 dev 分支中 , 执行 git switch -c dev_1 命令 , 直接基于 dev 分支创建新的分支 dev_1 , 注意此时的

    3.5K20

    git查看某个文件的提交记录

    有时候分析漏洞我们需要看看怎么修复的,什么时候谁修复的,提交的id是多少,下面的命令就很有用 假如我们知道漏洞出现在某个文件,我们只要执行下面命令,即可看到这个文件的修改记录 git log -p 文件名...比如下面的例子 $ git log -p slirp/tcp_subr.c commit 345fab6ffe57b0bf6dccbc0844f45f77b91d9de0 Author: Prasad...看到了这个commit id,你可以用git show id去查看,不过跟上面的结果看到的是一样的 $ git show 345fab6ffe57b0bf6dccbc0844f45f77b91d9de0...so_rcv->sb_wptr += m->m_len; so_rcv->sb_rptr += m->m_len; (END) github上直接搜索这个...commit id就可以了 题外话 更进一步,假如你想看看这个文件每一行最新是谁修改的,使用git blame 文件名 例子如下: git blame slirp/tcp_subr.c f0cbd3ec9

    7400

    正确的 Git 提交记录和分支模型

    Style,是参考业界实践对 Git 提交记录格式和分支模型所做的总结。...本文在 Git Style 基础上,再次描述提交记录的格式和分支模型,并介绍两个工具 commitizen 和 gitflow,分别处理维护提交记录格式和分支切换的工作。...Commit Message 在 Git Style 中已经介绍了提交记录(Commit Message)的格式,但是没有说明为什么要遵循这样的约定。...事实上,这个格式参考了 AngularJS’s commit message convention,而 AngularJS 制定这样的约定是出于几个目的 自动生成 CHANGELOG.md 识别不重要的提交..._load hook 定位错误 使用 git bisect 可以定位引入问题的提交,通过 type 可以快速辨别不会引入 bug 的提交, (master) $ git bisect start (master

    1.1K10

    git合并另一个分支的某个文件到当前分支

    概述 使用Git时,有时候不同分支的文件是不同步的,因此如果想要把别的分支的文件改动应用到当前分支,应该怎么操作呢?如果两边都有更新,该如何选择合并呢?...这篇小文会对不同情形下的合并进行一个简单的介绍。 引入 假设我们当前在分支branch1, 需要将分支branch2上的a.py合并到当前分支。...根据之前写的这篇文章,我们可以这么操作 git checkout branch2 -- a.py 两边都存在文件 现在换一个情况,假设分支branch1和branch2都有文件a.py,且分支branch1...上的文件包含在branch2的内容里,那么采用上面的命令也还是可以的: git checkout branch2 -- a.py 另外如果只想合并branch2上的文件的一部分更新到branch1,可以在...更复杂的情况是,分支branch1也有同名文件,且也有更新,如果直接使用git checkout的话,分支branch2上的文件会替代本地的文件,且没有任何提示(毕竟cheeckout的含义就是切换到某个分支

    92560

    git切换分支(如果当前分支所做的修改没有提交此时如何切换去其他分支)

    问题描述 今天遇到一个git分支切换的问题,我在分支A上做了修改,然后切换到分支B后,发现分支B上也存在着分支A上的修改。...原因 如果当前分支所做的修改没有提交就切换去其他分支的话,那么也会看到相同的修改 解决方法 解决方法有两种: 方法一: 用 git add 和 git commit 提交修改,只要用 git status...(所谓的干净就是指不显示有修改的痕迹,即git status显示没有内容被修改) 方法二: 如果我当前分支上的工作还没做完,不能提交,但又想去其他分支,这时候可以把当前分支的工作现场隐藏起来。...本质:一个本地的git repo只有一个工作区和暂存区,但是有多个分支的提交区,而我们的checkout只是将HEAD指针从一个分支切换到另一个分支。...未经允许不得转载:肥猫博客 » git切换分支(如果当前分支所做的修改没有提交此时如何切换去其他分支)

    3.8K30

    【Git系列】利用 Bash 脚本获取 Git 最后一次非合并提交的提交人

    脚本示例解析 下面是一个简单的 Bash 脚本示例,它演示了如何获取 Git 仓库中最后一次非合并提交的提交人,并将其存储在一个变量中,然后输出这个变量的值。 #!.../bin/bash # 定义一个变量来存储最后一次非合并提交的提交人 last_author=$(git log -1 --no-merges --pretty=format:'%an') # 输出这个变量...echo "The last non-merge commit author is: $last_author" 这个脚本首先定义了一个变量 last_author,它通过 git log 命令获取当前分支最后一次非合并提交的提交人名字...git log 命令是 Git 中用来查看提交历史的命令,其中 -1 表示只显示一条提交记录,--no-merges 表示排除合并提交,--pretty=format:'%an' 用于格式化输出,只显示作者的名字...接着,脚本使用 echo 命令输出这个变量的值,告诉用户最后一次非合并提交的提交人是谁。

    7700

    git 多人在同一分支上迭代开发时,如何保证分支提交历史保持线性

    背景 最近我们组几个同事都投入到了一个新项目,互相之间的功能耦合比较紧密,因此,是打算从master上新拉一个分支,可以理解为我们几个人的开发分支,以develop代替。...不过,大家用svn也知道,经常呢,我们为了保证代码不丢,会经常性地往分支提交,即使某个功能写了一半,一个功能,n次commit记录,且和同事的commit交错在一起;另外,我们提交的代码,有时候会导致同事那里跑不起来...每个人在自己的单独的分支上开发,开发了一个较为完整的功能后,再提一个pull request给develop,此时,可以对这个较完整的功能做代码review,review通过后,即合并到develop分支...模拟张三开发 大家看上图,张三来了一顿操作,切到了自己的分支,改了点东西,做了一次提交,不过提交还没推送到远端自己的分支。...其实,这里有个操作上的问题,当前张三在自己的分支上,他现在需要做的是:拉取develop代码最新代码,然后将develop的代码合到自己这里来。

    97251

    git 在切换分支时有未提交的文件,怎么办? git stash

    situation 用git checkout切换本地分支从b1到b2时, 如果b1的本地文件有修改, 会发生冲突。...(b1和b2不在一个commit id上) 设b1和b2都有123.txt这个文件(这2个branch下123.txt文件内容可相同可不相同); 当前在b1下, 修改了一行123.txt, 然后想git...实际的应用场景是这样:假设你有分支master和develop。master用来release版本,develop用来开发。master上release了版本1,然后develop继续开发。...如果你在develop上开发到一半的时候,release的版本1发现了bug。这个时候,你develop分支有未提交的修改,然后你需要切换到master上的版本1进行修复。...这个时候切换到master分支,肯定是不需要把develop分支上的修改带过去的。

    3K20

    IDEA中对Git的常规操作(合并,提交,新建分支,更新)

    工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下: 假设小组中有两个人,组长小张,组员小袁 场景一:小张创建项目并提交到远程Git仓库 场景二:小袁从远程Git仓库上获取项目源码 场景三:小袁修改了部分源码...,提交到远程仓库 场景四:小张从远程仓库获取小袁的提交 场景五:小袁接受了一个新功能的任务,创建了一个分支并在分支上开发 场景六:小袁把分支提交到远程Git仓库 场景七:小张获取小袁提交的分支 场景八:...下图是Git与提交有关的三个命令对应的操作,Add命令是把文件从IDE的工作目录添加到本地仓库的stage区,Commit命令把stage区的暂存文件提交到当前分支的仓库,并清空stage区。...创建完成后注意IDEA的右下角,如下图,Git: wangpangzi_branch表示已经自动切换到wangpangzi_branch分支,当前工作在这个分支上。...注意,这里创建的分支仅仅在本地仓库,如果想让组长小张获取到这个分支,还需要提交到远程仓库。 场景六:小袁把分支提交到远程Git仓库 切换到新建的分支,使用Push功能 ? ?

    4.9K31

    git checkout到新的分支之后原来未提交的代码找回

    git checkout时遇到的问题 当我们使用git进行代码版本管理时,如果本地有多个并行开发的需求的话,我们会时不时地切换不同的分支。...当我们基于当前分支做了一些改动,但是并没有执行git commit命令的话,这时如果我们想直接git checkout到另外的分支,那么idea就会弹窗提醒我们,选force checkout或者smart...两者有何不同 git checkout如果未提交本地代码。则会提示你选force checkout或者smart checkout。...smart checkout会把本地修改的代码先保存到statsh中,再checkout分支。...force checkout在当前分支修改的所有内容都会丢失,只能用以下步骤找回代码(找回后需要自行检查是否有错漏) 所以保险起见我们一般都是选择smart checkout。

    2K20

    关于Git的提交(本篇为同一分支的提交、不同分支的合并以及解决冲突的方法)

    6.再次右键点击工程文件-Team-Push Branch ‘分支名’ 7.确定①处的备注并点击‘Next’ 8.点击‘Finish’将修改提交到分支 9.完成 二、不同分支的合并提交 (1)首先在自己的分支上...Commit (2)类似于同一分支的push(提交),确认好要提交到分支上的文件,并做好备注,因为是自己的分支所以不存在别人提交到你的分支,所以提交前没必要“pull”,直接点击“Commit and...三、PULL时遇到冲突的解决办法 1.若冲突的文件仅是用于测试时修改的配置文件,并不需要提交到分支上 解决方法:(1)简单粗暴的方法:复制一份引起冲突的配置文件到桌面上,然后delete掉引起冲突的这个文件...;(2)将分支上正确的文件内容覆盖本地的该文件。...从git分支上先复制一份分支上的该文件的代码并粘贴在代码比较的左边,再将本地的代码复制在软件文本比较的右侧,检查并修改后复制粘贴回你的编码软件中,完成。

    36410
    领券