programming:git
Table of Contents
Commit to pull request of foreign user
git checkout -b asmorodskyi-unittest master git pull https://github.com/asmorodskyi/qatrfm-lib.git unittest git push git@github.com:asmorodskyi/qatrfm-lib.git asmorodskyi-unittest:unittest
Exclude file from last commit
git reset --soft HEAD~1
Then unstage unwanted files
git reset HEAD path/to/unwanted_file
Now commit again, you can even re-use the same commit message:
git commit -c ORIG_HEAD
Checkout PR from github on a new branch
#!/bin/bash +x pr_url="${1:?"Need 'pr_url' as parameter pointing to a github pull request or 'repo_name' (sending repo) and 'pr' variables, e.g. either 'https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/1234' 'me/os-autoinst-distri-opensuse' and '1234'"}" target_repo_part=${pr_url%%/pull*} pr="${pr_url##*/}" pr_url=${target_repo_part/github.com/api.github.com/repos}/pulls/$pr pr_content=$(curl "${AUTHENTICATED_REQUEST}" -s "$pr_url") label=$(echo "$pr_content" | jq -r '.head.label') || throw_json_error "$pr_url" "$pr_content" user=$(echo "$pr_content" | jq -r '.user.login') || throw_json_error "$pr_url" "$pr_content" repo_name="${repo_name:-"${label%:*}/${target_repo_part##*/}"}" branch="${branch:-"${label##*:}"}" repo="${repo:-"https://github.com/${repo_name}.git"}" echo "USER: $user" echo "REPO: $repo" echo "BRANCH: $branch" echo "PR: #$pr" echo git checkout -b "PR$pr-$user-$branch" master git checkout -b "PR$pr-$user-$branch" master echo git pull "$repo" "$branch" git pull "$repo" "$branch"
programming/git.txt · Last modified: by clemix
