<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Branches are just a pointer to a commit ID.  This just means that your local `main`, `lists`, and `assert` branches all point to the same commit ID, which is OK.  Pushing one does not push the others.  When you push a branch e.g. `lists` via `git push origin lists`, what you are doing is telling the remote server "create or change the branch (pointer) on your end called `lists` to refer to the same commit ID as my local branch `lists`".  It also pushes the commits to the server (but this is strictly additive - nothing is lost by this action).  No other remote branches would be affected by this action.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">It's also possible to push a local branch to a remote branch with a different name; e.g. `git push origin foo:bar` makes a branch called `bar` on the remote side with the same commit ID as the branch called `foo` on the local side.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Overall I don't think you've broken anything, it's just that the log output is not completely intuitive.  It's just listing all the branch names that it knows of which happen to point to the corresponding commit ID in the log.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Apr 8, 2021 at 11:48 AM Paul C. Anagnostopoulos via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div>
    <p><font face="Helvetica, Arial, sans-serif">When I check out the
        main branch, do a pull --rebase, and ask for a log, I see the
        following. That line with '(lists, assert)' seems funky.</font></p>
    <tt>c:\llvm\llvm-project> git log --oneline -30<br>
      2690d4d45a63 (HEAD -> main, origin/main, origin/HEAD) [MLIR]
      Support symbols in emptiness checks for FlatAffineConstraints<br>
      e10493eb5012 [DebugInfo] Correctly track SDNode dependencies for
      list debug values<br>
      e184eeaa3ba1 [AMDGPU] Add some implicit uses to tests. NFC.<br>
      a1a372dfb526 [AMDGPU] SIFoldOperands: remove an unneeded isReg
      check. NFC.<br>
      2cb8c10342ee Revert "Reduce the number of attributes attached to
      each function"<br>
      466fab5c9410 [lsan] Mark 2 new lsan tests unsupported on arm-linux<br>
      2ecf928153fc [lldb/DWARF] Fix a crash parsing invalid dwarf
      (pr49678)<br>
      1e511bb1be71 [lldb] Re-skip TestVSCode_launch<br>
      9229465bad85 [NFC] Fix warning introduced in
      20105b6b4874a85813f7a4a3d8ad2a0f023dda14<br>
      a250e91d1034 [AMDGPU] SIFoldOperands: make use of emplace_back.
      NFC.<br>
      2724b57ecdbb [AMDGPU] SIFoldOperands: remove an unneeded
      make_early_inc_range. NFC.<br>
      c28f79a0e335 [AMDGPU] SIFoldOperands: try harder to fold cndmask
      instructions<br>
      e4de3cdf3d66 [LV] Pass VPWidenPHIRecipe to widenPHIInstruction
      (NFC).<br>
      9f0d8bac144c [analyzer] Fix dead store checker false positive<br>
      b785e03612d7 Support: mapped_file_region:  Pass MAP_NORESERVE to
      mmap<br>
      3344cd3a1477 [AMDGPU] SIFoldOperands: make tryFoldCndMask a member
      function. NFC.<br>
      c10cc4ea2729 [AMDGPU] Fix computing live registers in prolog<br>
      6fccfd7cbdca [InstCombine] add icmp with no-wrap add tests; NFC<br>
      14580ce2fdd1 (lists, assert) [TableGen] Make behavior of list
      slice suffix consistent across all values<br>
      3b9a15d910a8 [TableGen] Add support for the 'assert' statement in
      multiclasses<br>
      1206313f82f8 [CodeGen][AArch64] Fix isel crash for truncating FP
      stores<br>
      5299843c3146 [mlir][spirv] Add control for non-32-bit scalar type
      emulation<br>
      004f29c0bb3c [mlir][spirv] Timely fail type conversion</tt>
    <div><br>
    </div>
    <div>On 4/8/2021 11:01 AM, Stella Laurenzo
      wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="auto">Git happens to the best of us :)
        <div dir="auto"><br>
        </div>
        <div dir="auto">Since you've already pushed, upstream should be
          considered source of truth. If I were you, I would start a new
          branch, pull fresh from upstream and then git cherrypick
          commits you want to keep from your local branches into the new
          branch. The git reflog is your friend on this, especially if
          you start resetting, etc.</div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">Since I see you are on Windows, I recall some of
          these things to be fairly easy with the Forks git gui.</div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">There are probably better ways to repair, but
          for me, when I mess it all up, I find it easier to low tech
          reconstruct what I want vs advanced solutions.</div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Thu, Apr 8, 2021, 6:12 AM
          Paul C. Anagnostopoulos via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>>
          wrote:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div>
            <p><font face="Helvetica, Arial, sans-serif">Somehow I have
                managed to intertwine two branches in my local
                repository. They are 'assert' and 'lists'. Here is what
                I see:</font></p>
            <p><font face="Helvetica, Arial, sans-serif">  <font face="monospace">Switched to branch 'assert'<br>
                    c:\llvm\llvm-project> git log2<br>
                    14580ce2fdd1 (HEAD -> assert, origin/main,
                  origin/HEAD, main, lists) [TableGen] Make behavior of
                  list slice suffix consistent across all values<br>
                    3b9a15d910a8 [TableGen] Add support for the 'assert'
                  statement in multiclasses</font></font><font face="monospace"><br>
              </font></p>
            <div><font face="monospace">   <font size="2">Switched to
                  branch 'lists'<br>
                    c:\llvm\llvm-project> git log2<br>
                    14580ce2fdd1 (HEAD -> lists, origin/main,
                  origin/HEAD, main, assert) [TableGen] Make behavior of
                  list slice suffix consistent across all values<br>
                    3b9a15d910a8 [TableGen] Add support for the 'assert'
                  statement in multiclasses</font></font></div>
            <div><font size="2"><br>
              </font></div>
            <div>I have no idea how I did this. Unfortunately, I ended
              up pushing both revisions when I meant to push only the
              'lists' branch. I could use some help sorting out my local
              repository.</div>
          </div>
        </blockquote>
      </div>
    </blockquote>
    <br>
  </div>

_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">- DML • he/him<br></div></div>