V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hellsnow
V2EX  ›  程序员

菜鸟请教几个 git 相关的问题

  •  
  •   hellsnow · 13 天前 · 970 次点击
    1.合并代码
    我在 A 分支上,想把 A 合并到 B 上,操作时
    git checkout B
    git pull
    git merge A
    git push
    这样做对吗,这样子操作之后 A 和 B 的代码是不是一样的,即 A 不是未合并之前的代码了
    2.我用 idea 修改了某个文件夹的名字,推到了 A 分支上,合并到了 B 上,B 上的代码看也是改过了,但是别人拉 B 的代码还是未改过之前的,这个我应该怎么做呢
    7 条回复    2022-08-05 23:42:57 +08:00
    yiXu
        1
    yiXu  
       13 天前
    如果运行,给出操作过程中的反馈信息,或者自己建一个实验仓库测试,给出操作反馈信息。

    问题可能在于你 A 是否提交 commit 了,如果 A 和 B head 的 commit 不一样应该会 merge 的感觉
    Rache1
        2
    Rache1  
       13 天前
    1 、不一定,如果 B 分支上有自身的修改,那自然 B 分支和 A 分支 “不是完全一样的”

    2 、如果你只是修改文件夹的大小写,默认 git 应该是会忽略掉的,所以可能会造成这种情况,又或者,因为别人拉的时候,当前工作区阻止🚫了 pull ,因为不能自动合并,实际上时没有拉下来的
    857681664
        3
    857681664  
       13 天前
    1. 你只是把 A 的代码合并进来了,所以 B 会有 A 的所有代码,2 个分支不一定一样。
    2. 你是不是没有推送提交到 B 分支,在合并 A 之后需要 push origin B 后,其他人才能拉到改动。
    Vfei2017
        4
    Vfei2017  
       13 天前
    你只改文件名 git 是 diff 不到的,你可以看下远程仓库 b 分支上文件名有没有变化(远程上 b 应该变化)
    Moha
        5
    Moha  
       13 天前
    1. 不是,你 pull 后更新了 B ,然后由合并了 A ,你的 B 分支是最新的,但 A 分支还是你合并前的样子,你推送上去的是更新的 B ;
    2. 你在 A 分支,更新了文件夹,你想更新远程 A ,就推送到远程 A 。如果你想把 A 的变化更新到 B ,那你先把 A 的提交合并到 B ,然后把 B 推送到远程 B ,那么远程 B 就是最新的;
    Ayanee
        6
    Ayanee  
       13 天前 via Android
    1. 假设当前处于 A
    $ git fetch --all
    $ git pull
    $ git checkout B
    $ git pull
    $ git merge A
    $ git push

    2.检查一下远程仓库的提交 file changes
    Ayanee
        7
    Ayanee  
       13 天前 via Android
    1 没审题清楚,订正:
    你做的操作是把 A 合并到 B ,改变的是 B ,A 本身是没有改变的
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4279 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 01:54 · PVG 09:54 · LAX 18:54 · JFK 21:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.