• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hhh798
V2EX  ›  程序员

各位大佬,我问个 Git 的问题

  •  
  •   hhh798 · Aug 24, 2019 · 6537 views
    This topic created in 2630 days ago, the information mentioned may be changed or developed.

    惭愧,不会用 Git。 现在问题是这样的,我在用 flutter 开发 APP,现在有个 bug,有人提交了 pull request,貌似解决了,那么我怎么把他的 pull request 的代码下载到我本地,我自己又能用呢? 就是这个 pull request: https://github.com/flutter/flutter/pull/36616

    36 replies  •  2019-08-25 11:11:42 +08:00
    zhuzhibin
    zhuzhibin
    Aug 24, 2019 via iPhone
    1
    review 一下 没问题就直接合并 merge 过来呀 谷歌一下你就明白了
    hhh798
    hhh798
    OP
    Aug 24, 2019
    3
    @zhuzhibin 我本地是直接下载的 flutter 的包,没有用 Git。我是要先用 Git 下载 flutter 吗?他提交的 pull request,没有被 flutter 合并,我是直接合并用我本地下载的代码仓库合并他提交的 pullrequest 吗?
    @imzcg 你的这个教程好像没有解决我的问题呢
    labulaka521
    labulaka521
    Aug 24, 2019
    4
    直接把那 fork 修复的代码重新下载下来不就完了?
    shingle
    shingle
    Aug 24, 2019 via Android
    5
    @nioncodotcom 可以直接去提 pr 的作者仓库 clone 下来,看清是哪次提交
    arrow8899
    arrow8899
    Aug 24, 2019
    7
    直接把对方的仓库克隆下来
    git clone [email protected]:liyuqian/flutter.git
    networm
    networm
    Aug 24, 2019 via iPad
    8
    这些信息最好直接查找 GitHub 帮助文档
    https://help.github.com/cn/articles/checking-out-pull-requests-locally
    Leigg
    Leigg
    Aug 24, 2019 via Android❤️2
    9
    本站已经跟百度谷歌等公司达成战略合作,不需要在站里发帖问直接上百度谷歌搜索即可免费获取答案了
    ipwx
    ipwx
    Aug 24, 2019 via Android
    10
    cherry pick?
    Yvette
    Yvette
    Aug 24, 2019
    11
    @Leigg V 站跟谷歌中国真的是有合作来着 媒体合作伙伴
    hhh798
    hhh798
    OP
    Aug 24, 2019
    12
    @networm @mimimiZ
    看了每太明白,我搜索了一下,我是不是要这样做:
    1、下载主分支:git clone -b master https://github.com/flutter/flutter.git ,
    2、切换到 maser 分支:git checkout master
    2、下载 pull request:git fetch https://github.com/flutter/flutter.git pull/36616/head:fenzhi123
    3、合并 pull request:git merge fenzhi123
    hhh798
    hhh798
    OP
    Aug 24, 2019
    13
    @Leigg 没用过 git, 搜索起来效率会比较低,所以来这里问大家了
    willxiang
    willxiang
    Aug 24, 2019 via iPhone
    14
    我推荐你先去看个 git 的使用教程,比如廖雪峰老师的。看完以后心里对 git 是什么东西,该怎么用,有个大概了解以后,你现在这个问题就迎刃而解了
    leafre
    leafre
    Aug 24, 2019
    15
    别看廖雪峰的
    nmgwddj
    nmgwddj
    Aug 24, 2019 via iPhone❤️3
    16
    正确坐姿:
    git remote add 将对方远程仓库地址添加到本地远程仓库地址列表。
    git fetch 刚添加的远程仓库名 /分支名
    这样自己远程仓库和对方远程仓库共存,切换分支拉取内容即可,不需要维护两个项目.....
    imkuang
    imkuang
    Aug 24, 2019
    17
    你还是先去学一下 git 怎么用吧,你这样怎么解释都解释不清的
    hhh798
    hhh798
    OP
    Aug 24, 2019
    18
    @nmgwddj 你可能没有仔细看我的问题,我只要把别人 pull request 里的代码,下载下来,解决我的问题就行。不是我的项目,我不用维护
    @xiri 好的,那麻烦你看一下我上面列的步骤对不对呢
    reus
    reus
    Aug 24, 2019
    19
    git clone -b input_events https://github.com/liyuqian/flutter.git

    如果你有基本的 git 知识,你根本就不需要问人,也不需要搜索,就最入门的 clone 而已。
    “没用过 git, 搜索起来效率会比较低,所以来这里问大家了”
    自己不学习,不做功课,该做的没做,有什么资格谈“效率”?
    MonoLogueChi
    MonoLogueChi
    Aug 24, 2019 via Android
    20
    直接拉对方仓库,然后何必
    imzcg
    imzcg
    Aug 24, 2019 via Android
    21
    @reus 你是神,你啥都会,你还去造火箭吧!遇到问题有礼貌的问人是可以的。不想回答可以闭嘴。
    boywhp
    boywhp
    Aug 24, 2019
    22
    我觉得改动不多的话 直接手敲吧 git 确实挺复杂的
    reus
    reus
    Aug 24, 2019
    23
    @imzcg 学一下 git 很难吗?只有神才能学会 git 吗?我他妈就是认为,不停说自己“没用过”,“没学过”,前几楼已经给出答案了的情况下,还在不停问,就是不可以!有礼貌就可以不要智慧了是吧?照你的逻辑,你不想看到你可以闭眼啊。
    reus
    reus
    Aug 24, 2019
    24
    @imzcg 啊,真是对不起,我没想到你是月薪到手三千的人,我这是“何不食肉糜”了,莫怪,莫怪,呵呵
    useben
    useben
    Aug 24, 2019
    25
    clone 到本地,然后 cherry-pick 那一条 commit 到你的分支就行
    filtrate
    filtrate
    Aug 24, 2019 via iPhone
    26
    Google 搜索关键字 "gut merge pr 命令行"
    filtrate
    filtrate
    Aug 24, 2019 via iPhone
    27
    @jinqzzz gut 是 git
    itechify
    itechify
    Aug 24, 2019 via Android
    28
    github 项目理解 merge 这个 pr,然后更新你本地项目
    Weixiao0725
    Weixiao0725
    Aug 24, 2019
    29
    @reus 你挣多少,说出来看看吧,看看你的优越感有多高到底?网络上真是应该实名,否则什么阿猫阿狗都能蹦出来叫唤。
    axlecho
    axlecho
    Aug 25, 2019 via Android
    30
    拉对方的项目 cherry-pick 那个 pr
    axlecho
    axlecho
    Aug 25, 2019 via Android
    31
    不过这样你要自己编译 flutter
    nevin47
    nevin47
    Aug 25, 2019 via Android
    32
    LZ 中间那个步骤是错的,建议还是看一下 git 基本概念再来看这个帖子吧,里面已经给了标准操作了

    如果 git 基本的概念都不懂,那这个问题就跟一个人问:我不懂 C 语言,请问怎么写一个递归呢? 这种一样,很简单的问题,但是你就是看不懂别人的回复
    xd314697475
    xd314697475
    Aug 25, 2019
    33
    推荐一个最简单的方法

    查看他提交的内容:
    https://github.com/flutter/flutter/pull/36616/commits

    查看他修改了什么:
    https://github.com/flutter/flutter/pull/36616/files

    然后对照着,修改你的代码
    这样的操作几乎不需要懂 git
    hhh798
    hhh798
    OP
    Aug 25, 2019
    34
    谢谢大家,因为我本身并不是开发,只是因为兴趣学了点编程,我自己开发也用不着 Git 所以也没学过。我会去研究一下的。哈哈。
    @xd314697475 @nevin47 @axlecho @reus
    Rheinmetal
    Rheinmetal
    Aug 25, 2019
    35
    直接 clone 仓库太浪费了吧
    添加 remote 就是了
    实在不行可以用 patch
    reus
    reus
    Aug 25, 2019
    36
    @Weixiao0725 呵呵,我是无业游民,不挣钱还天天亏成阿猫阿狗呢,怎么敢在貴様面前有优越感呢?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1275 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 90ms · UTC 19:28 · PVG 03:28 · LAX 11:28 · JFK 14:28
    ♥ Do have faith in what you're doing.