add nextflow d30e48d
This commit is contained in:
106
nextflow/GIT-README.md
Normal file
106
nextflow/GIT-README.md
Normal file
@@ -0,0 +1,106 @@
|
||||
# GIT README
|
||||
|
||||
Shortcuts to recurrent Git commands
|
||||
|
||||
## Sync remote fork
|
||||
|
||||
```bash
|
||||
git fetch public
|
||||
git checkout master
|
||||
git merge public/master
|
||||
```
|
||||
|
||||
List branch remote
|
||||
|
||||
git branch -vv
|
||||
|
||||
Checkout from a remote branch
|
||||
|
||||
git co -b <local name> upstream/master
|
||||
|
||||
Push to a remote upstream branch
|
||||
|
||||
git push <remote> <local branch>:<remote branch>
|
||||
|
||||
eg:
|
||||
|
||||
git push upstream foo:master
|
||||
|
||||
Read more [here](https://help.github.com/articles/syncing-a-fork/).
|
||||
|
||||
## Pull options
|
||||
|
||||
git config pull.rebase false # merge (the default strategy)
|
||||
git config pull.rebase true # rebase
|
||||
git config pull.ff only # fast-forward only
|
||||
|
||||
|
||||
## Subtree
|
||||
|
||||
The `tests` directory is a Git subtree created with the
|
||||
following commands:
|
||||
|
||||
git remote add tests git@github.com:nextflow-io/tests.git
|
||||
git subtree add --squash --prefix=tests/ tests integration
|
||||
|
||||
|
||||
To pull changes from the [tests repo](https://github.com/nextflow-io/tests) use this command:
|
||||
|
||||
git subtree pull --squash --prefix=tests/ tests integration
|
||||
|
||||
To push changes to the [tests repo](https://github.com/nextflow-io/tests) use this command:
|
||||
|
||||
git subtree push --prefix=tests/ tests integration
|
||||
|
||||
|
||||
Read more [here](https://andrey.nering.com.br/2016/git-submodules-vs-subtrees/).
|
||||
|
||||
## Stash shortcuts
|
||||
|
||||
git stash list
|
||||
git stash pop
|
||||
git stash pop stash@{1}
|
||||
git showtool stash@{0}
|
||||
git stash drop
|
||||
git stash drop stash@{1}
|
||||
git stash clear
|
||||
git diff stash
|
||||
git diff stash@{1} [other]
|
||||
|
||||
## Misc
|
||||
|
||||
Find a commit in any branch introducing a change
|
||||
|
||||
git log -S <whatever> --source --all
|
||||
|
||||
Reset last merge pushed
|
||||
|
||||
git reset --hard HEAD@{1}
|
||||
|
||||
Read more https://stackoverflow.com/a/11722640/395921
|
||||
|
||||
## GPG keys
|
||||
|
||||
To sign Git commits with a GPG key on Mac use [GPG Suite](https://gpgtools.org/), import your key, then:
|
||||
|
||||
git config --global gpg.program /usr/local/MacGPG2/bin/gpg2
|
||||
git config --global user.signingkey <your key>
|
||||
git config --global commit.gpgsign true
|
||||
git config --global format.signoff true ## TO AVOID TO SPECIFY -S option each time
|
||||
|
||||
Read more:
|
||||
https://gist.github.com/danieleggert/b029d44d4a54b328c0bac65d46ba4c65
|
||||
|
||||
|
||||
## Change Git history root
|
||||
|
||||
https://stackoverflow.com/questions/4515580/how-do-i-remove-the-old-history-from-a-git-repository
|
||||
|
||||
# Pull master while in a another branch
|
||||
|
||||
git fetch origin master:master
|
||||
|
||||
# Alternative to `git pull`
|
||||
|
||||
Use `git fetch && git rebase`
|
||||
|
||||
Reference in New Issue
Block a user