From f58565aa8a2c5c17bfce732ece40e2502ae55006 Mon Sep 17 00:00:00 2001 From: yikth Date: Wed, 1 Feb 2023 15:42:18 +0800 Subject: [PATCH] Update 'README.md' --- README.md | 64 +++++++++++++++++++++++- images/github-flow-branching-model.jpeg | Bin 0 -> 16984 bytes 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 images/github-flow-branching-model.jpeg diff --git a/README.md b/README.md index 971014d..7c22695 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,65 @@ # scm-setup -Source Control Server Preparation \ No newline at end of file +***Source Control Server Preparation*** + +**Pre-requisite** + +1. ssh client (built-in on Windows 10. Preinstall with Git installation). For windows 7 alternative, try Putty +2. [git](https://git-scm.com/) +```shell +# use windows package manager +$ winget install Git.Git +``` + +3. [TortoiseGit](https://tortoisegit.org/) +```shell +# use windows package manager +$ winget install TortoiseGit.TortoiseGit +``` + +4. [Tailscale](https://tailscale.com/) +```shell +# use windows package manager +$ winget install tailscale.tailscale +``` +--- +**Configuration** +1. setup sshkey. Run below to generate the private / public key +```shell +$ ssh-keygen +``` +2. Pass the `c:\users\\.ssh\id_rsa.pub` to administrator to authorise the access to server +3. Setup Tailscale. Need remote access to administrator to do first login. Please install [AnyDesk](https://anydesk.com/en) to facilitate remote access +4. Setup `c:\Windows\System32\Drivers\etc\hosts` file. Install [PowerToys](https://learn.microsoft.com/en-us/windows/powertoys/). Add the following entry to host file +```txt + +127.0.0.1 dev.mitech.com.sg # Test Eng Server + +``` +5. Setup git profile [configuration](https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup) +```shell +$ git config --global user.name "John Doe" +$ git config --global user.email johndoe@example.com + +# setup default branch name as `main` +$ git config --global init.defaultBranch main + +# Checking the settings +$ git config --list +``` + +--- +**Accessing the server** +1. Establish ssh port forwarding. Open a command prompt. Run below command. The ssh IP address can be found from Tailscale console +```shell +$ ssh -L 3000:172.16.16.2:3000 -L 222:172.16.16.2:222 mitpenang@100.72.57.125 +``` + +2. Open Chrome. Browse to Source Control Server [Mitech : Gitea](http://dev.mitech.com.sg:3000) +3. To clone, use `git ssh://...` + +--- +**Git** +1. [Documentation](https://git-scm.com/doc) +2. [GitHub Flow Branching Strategy](https://www.flagship.io/git-branching-strategies/) + ![GitHub Flow](./images/github-flow-branching-model.jpeg) \ No newline at end of file diff --git a/images/github-flow-branching-model.jpeg b/images/github-flow-branching-model.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..6c35acde668359435a982251b07e2311453e3c8c GIT binary patch literal 16984 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 T$@Mx$VsgJH9^4TBS^9qf^=0az literal 0 HcmV?d00001