본문으로 바로가기

[github][web][2] git 사용 로컬/리모트 동기화 하기

category html 2024. 11. 26. 19:59

: github repository를 local 로 다운로드 및 수정 그리고 github로  push 연동되게 만들어 보았습니다.

   git clone 시 https 가 아닌 ssh를 사용해야 합니다. 

 

1> rsa 키 만들기 (deploy key 에서 사용됨)

$ ssh-keygen -t rsa -b 2048 -f ~/.ssh/test_key
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/xxx/.ssh/test_key
Your public key has been saved in /home/xxx/.ssh/test_key.pub
The key fingerprint is:
SHA256:VOizdbG6Ps4jgfxbXWcMGcMmzgKm0JzUpxCCrv3bPRc xxx@ubuntu22
The key's randomart image is:
+---[RSA 2048]----+
|   ..+o+ ..  .o  |
|  . ..= =.. o o+ |
| .   . =.+ o =o  |
|  .   ..+ o =  o |
| o   . .S+ +  . +|
|. .   o o E. . o |
|   .   . ..o.    |
|    .. .+o=      |
|    ... oB+o     |
+----[SHA256]-----+

 

2> Deploy Key 추가하기

→ Settings

 

→ Security > Deploy keys 선택

 

 

   Add deploy key 클릭 

 

 

  타이틀 적당히 넣으시고 위에서 만든 test_key.pub 파일을 cat 으로 열어서 아래의 Key 항목에 붙여넣기 합니다.

 

 

    "Allow write access" 체크후 Add key 클릭하면 아래처럼 추가된 키가 보입니다.

 

3> ~/.ssh/ 디렉토리 아래에 config 파일을 만들고 다음처럼 작성해 줍니다.

Host test
     HostName github.com
     User git
     IdentityFile ~/.ssh/test_key
     IdentitiesOnly yes
     Port 22

 

Host 명 test 는 추후 git clone 명령시 host 명 대신 사용됩니다.

  ex> git clone git@test:leevisual/leevisual.github.io.git

                       @ 앞에는 user 를 넣고 뒤에는 host 명을 넣어줍니다.


4>  git clone 사용해 소스 다운로드하기

$ git clone git@test:leevisual/leevisual.github.io.git
Cloning into 'leevisual.github.io'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (6/6), done.

 

5> master 브랜치 생성에서 파일 수정후 remote 에 Push 하기

$ git checkout -b master
 ~~ 소스 수정 ~~
$ vi index.html 
 <html>
  <body>
    <h1>Welcome to my world</h1>
    <h2>Welcome to my world</h2>
    <h3>Welcome to my world</h3>
    <h4>Welcome to my world</h4>
  </body>
</html>

 
$ git commit ~~~~

remote 저장소에 push 하기
$ git remote -v
origin  git@test:leevisual/leevisual.github.io.git (fetch)
origin  git@test:leevisual/leevisual.github.io.git (push)

$ git push origin master
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 347 bytes | 347.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To test:leevisual/leevisual.github.io.git
   da51c5f..02f650a  master -> master

 

 

6> 기존 main 브랜치를 따라가느것을 master 브랜치로 변경하기

  → Settings > Pages 에 들어간후 Branch 부분은 main 에서 master로 변경해 줍니다.

 

 

7>  테스트 

  > leevisual.github.io 사이트를 web browser로 열어서 변경사항 체킹  (업데이트후 바로 동작 안할때 있음.) 

 

반응형