Skip to main content

[GIT] Rebase, Patch, and Send-Email

git rebase -i [commit version]
e.g., git rebase -i 343413bd0c7fce7f6c9dd4dab14964fb9a9a885f
I use this command to clean up my repository and remove some redundant commits.
For example,
343413bd0c7fce7f6c9dd4dab14964fb9a9a885f is the basis version I use.
After this version, I have two more versions which are required to be revised or squashed.
A editor will emerge and ask my intention:
pick e423a6e blablabla
pick 59c8f7a blablabla

Normally, it shows "pick" for directly using the commit.
To edit or squash, just change "pick" to "edit", "squash", or "fixup".
After that, like describing in the original manual:
You can amend the commit now, with
    git commit --amend
Once you are satisfied with your changes, run
    git rebase --continue

More detail usage:
http://stackoverflow.com/questions/37219/how-do-you-remove-a-specific-revision-in-the-git-history

git format-patch, which is used to create git patches. The number is the number of latest versions which are patched.
e.g. git format-patch -3
If you want to specify the version of the patch is v2 or v3, just add -v2 or v3.

git am, which is used to apply git patch to the current branch.
e.g., git am *.patch

git send-email, which is used to send a collection of patches as mails.
e.g.: git send-email --to devel@rtems.org *.patch
(Please note that this command requires the support from the host operating system.)
I use Ubuntu 14.04 LTS and gmail as the target smtp server. I have followed the following tutorial to configure my mailing system:
http://www.havetheknowhow.com/Configure-the-server/Install-ssmtp.html

To the end, git send-email command works.

Comments

Popular posts from this blog

RSB+RTEMS 5/6 with QEMU-SMP (ARM realview_pbx_a9_qemu as example)

Since I got a request regarding this blog  written in 2016, summarizing again the complete flow with the latest version of RTEMS could be a good idea. Prepare a suitable workspace according to the adopted operating system on your host ( https://docs.rtems.org/branches/master/user/hosts/index.html ):  sudo apt-get build-dep build-essential gcc-defaults g++ gdb git unzip pax bison flex texinfo unzip python3-dev libpython-dev libncurses5-dev zlib1g-dev Checkout RSB and build: git clone git://git.rtems.org/rtems-source-builder.git rsb change directory to rsb/rtems/ and type ../source-builder/sb-set-builder --prefix=<the path you like to store the built toolchains> <the name of bsp> For example, to use QEMU, I need toolchains for ARM, so: ../source-builder/sb-set-builder --prefix=/home/kh.chen/respository/build/. 6/rtems-arm This will take a while. Please ensure your connection is reliable. Add the built folder into your PATH. For example, you can add one line in ~/.bas...

[ubuntu] Removing the instance/package which is not fully installed from apt-get

When I'm installing g77-3.4 for pgplot, I trivially use dkpg to install it. However, g77-3.4-doc is not able to fully installed. And I stuck for this kind of error due to the broken packages (refer to here ): dpkg: error processing realplayer (--configure/--purge/--remove): (Whatever messages) Errors were encountered while processing: g77-3.4-doc cd /var/lib/dpkg/info sudo rm g77-3.4-doc* sudo dpkg --remove --force-remove-reinstreq g77-3.4-doc Hmm, now apt-get works well again. https://www.youtube.com/watch?v=S9HJ-iAzf3k

[RASP] VirtualBox Raspberry Pi debuging

This article is for the perspective that planning to debug Raspberry Pi connected to (Guest) Ubuntu Virtualbox with USBtoUART and Screen/terminal. There are two important issues that you may face: You cannot detect USB devices: You probably have a permission issue on your Virtual box. Add your user ID to group vboxusers with this command: sudo usermod -a -G vboxusers $USER , log off, log on and try again. http://askubuntu.com/questions/481693/virtualbox-usb-add-device-filter-does-not-work-under-14-04 You cannot listen the ttyUSB0: Your permission of (guest) account should be feasible to the ttyUSB0: sudo gedit /etc/group goto line... dialout:x:20: add your "username" dialout:x:20:username http://askubuntu.com/questions/40959/how-do-i-connect-to-tty-com-dev-ttyusb0 After that, then you can detect the plug-in usb on-the-fly or before open the virtual machine. Then, screen /dev/ttyUSB0 115200 (DON"T FORGET TO INSTALL VIRTUALBOX GUEST ADDITION PAC...