- Clone the repo.
- Use
git rebase -i --root
- vim will open. Select the commits you want to modify by changing
pick
toedit
. If you would like to change all the commits, perform the following replace::%s/^pick/edit/g
. This command changes all instances of "pick" at the start of lines to "edit". - You will now be shown all the selected commits one by one. Each commit message will be displayed. You have two options:
- If you would like to keep the commit author details the same, do a
git rebase --continue
. - If you would like to change it to a different name/email, do
git commit --amend --reset-author
. If--reset-author
is specified, it will use the details from your git config. (If you need to specify an alternate name/email, you can do so with--author="John Doe <john@example.com>"
. If you would like to change the time to a previous date, you can do so with--date "2 days ago"
.)
- If you would like to keep the commit author details the same, do a
- Do the same for all the commits and finish the rebase.
- Perform
git push -f origin master
to
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env sh | |
set -exu | |
# Which Git repo to sync with - change this for sure | |
GIT_REPO="git@..." | |
# Paths | |
HG_REPO="$(pwd -P)" # You might need to change this | |
GIT_TMP="/tmp/git-sync-$(date +%s)" |
Removing the last commit
To remove the last commit from git, you can simply run git reset --hard HEAD^
If you are removing multiple commits from the top, you can run git reset --hard HEAD~2 to remove the last two commits. You can increase the number to remove even more commits.
If you want to "uncommit" the commits, but keep the changes around for reworking, remove the "--hard": git reset HEAD^
which will evict the commits from the branch and from the index, but leave the working tree around.
If you want to save the commits on a new branch name, then run git branch newbranchname
before doing the git reset.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'========================================================================== | |
' | |
' NAME: fSMORoleOwner.vbs | |
' | |
' AUTHOR: JPB , Silogix | |
' DATE : 13/07/2011 | |
' | |
' COMMENT: This script allow to retreive the five FSMO Role Owners | |
' | |
'========================================================================== |
I hereby claim:
- I am saschazepter on github.
- I am saschazepter (https://keybase.io/saschazepter) on keybase.
- I have a public key ASCdhQcrbaMQuO4D6IOhKLIRRyb9C9dPktQ8pZwCtfQxjgo
To claim this, I am signing this object: