Sunday, September 10, 2017

How to import from and export changes to an existing github repository?


In this post, I will explain how to import sources from an existing github repository to a local directory, make changes locally as necessary and then export the changes back to the github repository.

  • Import from your github repository to local directory:
  • babu@babu-VirtualBox:~$ git clone https://github.com/babuneelam/EKiD.git
    Cloning into 'EKiD'...
    remote: Counting objects: 54, done.
    remote: Compressing objects: 100% (48/48), done.
    remote: Total 54 (delta 6), reused 46 (delta 4), pack-reused 0
    Unpacking objects: 100% (54/54), done.
    Checking connectivity... done.
    babu@babu-VirtualBox:~$ cd EKiD/
    babu@babu-VirtualBox:~/EKiD$ ls
    ConfigControls  LICENSE  README  SampleOutputs  Sources
    babu@babu-VirtualBox:~/EKiD$ 
  • Make change as necessary
  • See the diff
    • babu@babu-VirtualBox:~/EKiD$ git diff
      diff --git a/ConfigControls/EnvCfg b/ConfigControls/EnvCfg
      index 485a346..63a1976 100644
      --- a/ConfigControls/EnvCfg
      +++ b/ConfigControls/EnvCfg
      @@ -1,5 +1,5 @@
      -GECKO_DRV_PATH=/Users/babuneelam/Downloads/geckodriver
      -FONTS_FOLDER=/Library/Fonts
      +GECKO_DRV_PATH=/home/babu/bin/geckodriver
      +FONTS_FOLDER=/usr/share/fonts/truetype/msttcorefonts/
       #GECKO_DRV_LOG_FILE=RunTimeInfo/geckodriver.log
       #OUTPUT_DIR=RunTimeInfo/output
       #IMAGE_STORE_PATH=RunTimeInfo/google_images
      babu@babu-VirtualBox:~/EKiD$ 
      babu@babu-VirtualBox:~/EKiD$ git diff --name-only
      ConfigControls/EnvCfg
      babu@babu-VirtualBox:~/EKiD$ 
    • Tell git who you are:
          git config --global user.email "you@example.com"
          git config --global user.name "Your Name"
      • TBD: Add/Remove existing files from git repository
      • Export ALL the local changes to the github repository:
            babu@babu-VirtualBox:~/EKiD$ git commit -a
              [master 32a66e9] A few fixes
               2 files changed, 3 insertions(+), 3 deletions(-)
            babu@babu-VirtualBox:~/EKiD$
              babu@babu-VirtualBox:~/EKiD$ git pull origin master
              From https://github.com/babuneelam/EKiD
              * branch            master     -> FETCH_HEAD
              Already up-to-date.

            babu@babu-VirtualBox:~/EKiD$ 
            babu@babu-VirtualBox:~/EKiD$ git push -u origin master
              Username for 'https://github.com': babuneelam
              Password for 'https://babuneelam@github.com':
              Counting objects: 6, done.
              Compressing objects: 100% (6/6), done.
              Writing objects: 100% (6/6), 604 bytes | 0 bytes/s, done.
              Total 6 (delta 4), reused 0 (delta 0)
              remote: Resolving deltas: 100% (4/4), completed with 4 local objects.
              To https://github.com/babuneelam/EKiD.git
                 46764be..32a66e9  master -> master
              Branch master set up to track remote branch master from origin.
            babu@babu-VirtualBox:~/EKiD$ 
      • Export only a few files of the local changes to the github repository:
      babu@babu-VirtualBox:~/EKiD$ git commit ConfigControls/AlgoCfg -m 'Documentation fixes'
      [master 4668ebb] Documentation fixes
      1 file changed, 8 insertions(+)
      babu@babu-VirtualBox:~/EKiD$ git commit ConfigControls/FontCfg -m 'Documentation fixes'
      [master a3437e1] Documentation fixes
      1 file changed, 5 insertions(+), 2 deletions(-)
      babu@babu-VirtualBox:~/EKiD$
      babu@babu-VirtualBox:~/EKiD$ git pull origin master
      From https://github.com/babuneelam/EKiD
      * branch            master     -> FETCH_HEAD
      Already up-to-date.
      babu@babu-VirtualBox:~/EKiD$ git push -u origin master
      Username for 'https://github.com': babuneelam
      Password for 'https://babuneelam@github.com':
      Counting objects: 8, done.
      Compressing objects: 100% (8/8), done.
      Writing objects: 100% (8/8), 1.02 KiB | 0 bytes/s, done.
      Total 8 (delta 3), reused 0 (delta 0)
      remote: Resolving deltas: 100% (3/3), completed with 1 local object.
      To https://github.com/babuneelam/EKiD.git
        b61c9a5..a3437e1  master -> master
      Branch master set up to track remote branch master from origin.

      babu@babu-VirtualBox:~/EKiD$

      Hope this helps.


      No comments:

      UA-48797665-1