carpentries-incubator / swc_github_flow

Instructions for contributing the to free and open source materials for teaching foundational computational and data science skills to researchers maintained by The Carpentries at https://software-carpentry.org/lessons/ https://librarycarpentry.org/lessons/ and http://datacarpentry.org/lessons/
12 stars 11 forks source link

Just confirmed: Pulling from this repo to mine, puts my repo 1 ahead, not even #20

Open hoytpr opened 4 years ago

hoytpr commented 4 years ago

First this is a GREAT addition to the Git introduction for beginners, maybe the best I've seen. It carefully worded, the images are detailed, it has a glossary, it's really great.

But here's the issue. If I follow the instructions exactly using the GUIs, my repo at https://github.com/hoytpr/swc_github_flow, (in this case using the "master" branch, but it's the same on gh-pages) always ends up as "one commit ahead of dmgt:master." Example: When I checked this morning, my master branch was three commits behind dmgt:master. Following the instructions, I set up the merge request, switching the base, so that I was creating a pull request from dmgt/swc_github_flow master branch to hoytpr/swc_github_flow master branch. Everything was fine and able to merge, so I merged the 3 commits into my repo.

After confirming the merge, for_novice_contributors.md says (on line 111) "The status should now be “Merged”, and your repository will be up to date with all the changes from the remote repository!"

But my repository says "This branch is 1 commit ahead of dmgt:master. ".
Novice-flow-after-merge This always happens and is remarkably difficult to fix for a novice, I don't think it can be fixed from the GUI.

I know this isn't a big deal now, but when I was a novice this prevented me from making changes and putting in a PR to the Carpentries... because I was sure I'd done something wrong, and didn't even know what was in the the extra commit. If you look at the PR within the GUI, there is nothing indicating what is contained in the extra commit (sorry another big image attached): Novice-flow-after-merge-compared

Maybe we should simply state "The status should now be “Merged”, and your repository will be up to date with all the changes from the remote repository, and one commit ahead (the pull request you just made) compared to the remote repository! You can ignore the extra commit, and start making changes on a new branch". Note this means when you make changes on a test branch and it then says you are "two commits" ahead of the remote repo, not "a commit" as stated on line 125.

This is such a great introduction, and the difference is probably trivial to most folks, it's just that it wasn't trivial when it happened to me. The fix has to go through your LOCAL repo (your desktop or laptop) where you fetch the upstream repo (e.g. dmgt/swc_github_flow master) and merge it locally, then push it to your remote GitHub repo (e.g. hoytpr/swc_github_flow master) without a commit.

dmgt commented 4 years ago

@hoytpr thank you for this detailed summary and the suggested improved wording!

I agree we want to be attentive to things that may seem like a small difference but would leave a novice unsure if they'd done the right thing.

This is added to the list of things to check when this lesson is updated (we'd also want to check for consistency between the GUI and command line versions)

fab927 commented 4 years ago

This can happen when there is a small change in words your are using if are different to the words you used the first time. THanks