Casablanca: Git-Branchänderungen

Hallo zusammen,

ich habe folgendes Problem. Ich habe zwei Branchen direkt vom Master erstellt:

master
  |______A
  |
  |______B

Mit git checkout A wechsele ich nun in den Branch A und ändere ich z.B. die Datei myfile.html und wechsele ich dann in den Branch B und öffne dieselbe Datei und sehe ich, dass die Änderungen unter A auch unter B zu sehen sind und diese Datei wird auch mit "git satatus" als geändert unter B angezeigt. Sollte die Änderungen vom A gar nicht unter B zu sehen sein? Warum wird die Datei unter B auch als geändert angezeigt?

Danke im Voraus Gruß

  1. Moin,

    ich habe folgendes Problem. Ich habe zwei Branchen direkt vom Master erstellt:

    master
      |______A
      |
      |______B
    

    Mit git checkout A wechsele ich nun in den Branch A und ändere ich z.B. die Datei myfile.html und wechsele ich dann in den Branch B und öffne dieselbe Datei und sehe ich, dass die Änderungen unter A auch unter B zu sehen sind und diese Datei wird auch mit "git satatus" als geändert unter B angezeigt.

    Wie kannst du denn einen Branch auschecken, wenn es noch uncommittete oder unstashed Änderungen im anderen Branch gibt? Oder ist die Datei noch gar nicht im master enthalten?

    Sollte die Änderungen vom A gar nicht unter B zu sehen sein? Warum wird die Datei unter B auch als geändert angezeigt?

    Das klingt danach, dass die Datei vorher noch nicht im master war. Ansonstne würde eine Änderung nur übernommen, wenn du den Branch mit der übernommenen Änderung in deinen lokalen Branch pullst.

    Viele Grüße
    Robert

    1. Hi,

      das wundert mich auch. Git hat sich immer gemeckert, wenn ich den Branch mit Änderungen zu einem anderen wechseln wollte, was mich auch teilweise wahnsinnig machte. Nun auf einmal macht Git das ohne etwas dagegen zu haben. Die besagte Datei ist auch im Master vorhanden und auch dort wird die Datei dann als geändert angezeigt. Wie ich es herausgefunden habe, muss ich wohl vor dem Verlassen eines Branches die Änderungen commiten, dann werden die nicht mehr woanders angezeigt.

      Gruß

    2. @@Robert B.

      Mit git checkout A wechsele ich nun in den Branch A und ändere ich z.B. die Datei myfile.html und wechsele ich dann in den Branch B und öffne dieselbe Datei und sehe ich, dass die Änderungen unter A auch unter B zu sehen sind und diese Datei wird auch mit "git satatus" als geändert unter B angezeigt.

      Wie kannst du denn einen Branch auschecken, wenn es noch uncommittete oder unstashed Änderungen im anderen Branch gibt?

      Kann man, wenn es nicht zu Konflikten kommt. Bei Konflikten wird man aufgefordert, zu committen oder zu stashen. (Macht jedenfalls mein Git-Client (SourceTree) so. CLI ist mir zuwider.)

      Die geänderte Datei ist in der Stage (slide 5) und beim Branchwechsel werden die Änderungen beibehalten und mit etwaigen Änderungen aus dem Zielbranch gemerget.

      Wenn man das nicht möchte: vor dem Wechseln des Branches committen oder stashen.

      🖖 Живіть довго і процвітайте

      --
      „Im Vergleich mit Elon Musk bei Twitter ist ein Elefant im Porzellanladen eine Ballerina.“
      — @Grantscheam auf Twitter
      1. Hi,

        CLI ist mir zuwieder.

        zum widerholten Male? 😉

        cu,
        Andreas a/k/a MudGuard

        1. @@MudGuard

          Hi,

          CLI ist mir zuwieder.

          zum widerholten Male? 😉

          Grmpf, bin noch nicht wach. Kaffee? Ach, lohnt auch nicht mehr, ist ja schon Freitag.

          🖖 Живіть довго і процвітайте

          PS: Da (mindestens) noch ein anderer Schreibfehler im Posting war, hab ich das auch gleich mit korrigiert.

          --
          „Im Vergleich mit Elon Musk bei Twitter ist ein Elefant im Porzellanladen eine Ballerina.“
          — @Grantscheam auf Twitter
          1. Hi,

            PS: Da (mindestens) noch ein anderer Schreibfehler im Posting war, hab ich das auch gleich mit korrigiert.

            ja, zu dem fiel mir aber nix Lustiges ein …

            cu,
            Andreas a/k/a MudGuard

      2. Danke. Das war mein Fehler.