Differences between revisions 16 and 17
Revision 16 as of 2021-03-10 12:38:11
Size: 3034
Editor: PieterSmit
Comment:
Revision 17 as of 2022-02-14 03:19:33
Size: 3315
Editor: PieterSmit
Comment:
Deletions are marked like this. Additions are marked like this.
Line 34: Line 34:
=== Submodule, with github.com https token ===
  1. In github.com, under usersettings -> developer -> generate token to be uses in place of pwd.
     * then with token=<thetoken> {{{
git submodule add https://my2022token:<thetoken>@https://github.com/<user>/<gitrepo>.git
}}}

Git

How to setup GIT private server

  1. Log into server, create git account, set it to use git-shell (no login), add .ssh/authorized keys for access with no password.
  2. Create repo with $ git init --bare repository

1. On client edit

  • --bare can't be used
  • Setup .ssh/config, see example if using port, and can even use specific port.
    • Host githost
      HostName git.host.de
      Port 4019
      User git
  1. On client pc clone with $ git clone githost:repository

  2. #(edit some files
  3. git commit -a # Commit all changes to the local version of the repository

  4. git push origin master # Push changes to the server's version of the repository

Nice Git prompt in Linux bash

Git submodule

  • Home dir add code as seperate submodule git
    1. on server # sudo -u git git init --bare NewRepo

    2. on pc code$ git submodule add git@git.server:NewRepo

Submodule, with github.com https token

  1. In github.com, under usersettings -> developer -> generate token to be uses in place of pwd.

    • then with token=<thetoken>

      git submodule add https://my2022token:<thetoken>@https://github.com/<user>/<gitrepo>.git

Cleanup local branches already merged into Master

  1. Check what has not been merged with  git branch --no-merged 

  2. Delete branch  git branch -d  xxx 

  3. . All in one  git branch --merged master | grep -v "\* master" | xargs -n 1 git branch -d 

Manage homedir on new server from existing git repo

  • Setup repo, with no-checkout

       git clone --depth 2 --no-checkout repo-to-clone gittemp
       mv gittemp/.git ~
       rmdir gittemp
  • Create a branch to keep current files local
    • git branch original_201802
      git checkout original_201802
      git add .
      git commit 
  • switch back to main branch

       git checkout dev 
  • Merge original file back into dev if required.

       git merge original-201802 

Working with github and upstream git repos

  • View with $ git remote show

    $ git remote show
    origin
    upstream
  • normally origin should point to your repo, clone possibly of upstream project e.g.

    $ git remote show upstream
     * remote upstream
      Fetch URL: git@github.com:boltgolt/howdy.git
      Push  URL: git@github.com:boltgolt/howdy.git
  • To sync latest upstream changes, merge into local master and possibly push back up to your origin e.g.

    git pull upstream
    git merge upstream/master
    ##Commit message
    git push

Create branch based on upstream but pushed to my forked origin

  • working on github, want to create branch in my forked origin, but based of upstream/master for a fix i want to push/merge to upstream.

$ git remote
origin
upstream
$ git fetch --all --tag
Fetching origin
Fetching upstream
$ checkout -b fix#733-myBranch
$ git reset --hard upstream/master
$ git push --set-upstream origin fix#733-myBranch

...


CategoryLinux

GitHowTo (last edited 2022-02-14 03:19:33 by PieterSmit)