[llvm-dev] I've intertwined two branches

David Lloyd via llvm-dev llvm-dev at lists.llvm.org
Thu Apr 8 10:25:19 PDT 2021


According to that log, neither `lists` nor `assert` appear on your GitHub
instance with those commit IDs (if you had successfully pushed `lists`, you
should expect `lists` to have the same commit ID as `origin/lists`, which
does not appear in your log at all).

And it's worth noting that amending a commit does not change the commit
date, unless you explicitly tell it to do so.  You can see the separate
authorship and commit dates using `git log --pretty=fuller`.  But what you
see in annotations is probably the authorship date.

On Thu, Apr 8, 2021 at 12:10 PM Paul C. Anagnostopoulos <
paul at windfall-software.com> wrote:

> But two things are confusing. I only pushed the 'lists' branch, not the
> 'assert' branch, yet both revisions are up on GitHub. I suppose I should be
> careful and say that if I pushed 'assert', I don't know how I did it.
>
> Also, if you check the dates on the changed lines in the various files,
> they are dated April 5 for 'lists' and April 1 for 'assert'. But I amended
> the commit on the 'lists' branch today and then pushed it.
> On 4/8/2021 1:00 PM, David Lloyd wrote:
>
> 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.
>
> 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.
>
> 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.
>
>
>

-- 
- DML • he/him
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210408/7cac12a9/attachment.html>


More information about the llvm-dev mailing list