mkdir newgitrep
cd newgitrep
git init
3.init 명령으로 빈 깃 저장소를 만든다.
ji@ji-900X5L:~/newgitrep$ git init
힌트: Using 'master' as the name for the initial branch. This default branch name
힌트: is subject to change. To configure the initial branch name to use in all
힌트: of your new repositories, which will suppress this warning, call:
힌트:
힌트: git config --global init.defaultBranch <name>
힌트:
힌트: Names commonly chosen instead of 'master' are 'main', 'trunk' and
힌트: 'development'. The just-created branch can be renamed via this command:
힌트:
힌트: git branch -m <name>
/home/ji/newgitrep/.git/ 안의 빈 깃 저장소를 다시 초기화했습니다
저장소 생성 직후 디렉터리 내부
- config
- description
- HEAD
- hooks/
- info/
- objects/
- refs/
git add *.c
git add LICENSE
git commit -m 'initial project version'
https://docs.github.com/ko/get-started/quickstart/create-a-repo?tool=webui
상기 링크 참고
(1) GitHub CLI 설치
sudo apt install gh
gh auth login
ji@ji-900X5L:~$ gh auth login
? What account do you want to log into? GitHub.com
? What is your preferred protocol for Git operations? HTTPS
? Authenticate Git with your GitHub credentials? Yes
? How would you like to authenticate GitHub CLI? Login with a web browser
! First copy your one-time code: 64D5-3D15
- Press Enter to open github.com in your browser...
✓ Authentication complete. Press Enter to continue...
- gh config set -h github.com git_protocol https
✓ Configured git protocol
✓ Logged in as sweetyummyjelly
(2) 원격 저장소 생성
ji@ji-900X5L:~$ gh repo create my-project --public
✓ Created repository sweetyummyjelly/my-project on GitHub
gh repo create
명령으로 원격 저장소를 생성한다.gh repo create
명령만 실행한다.cd 로컬저장소디렉터리
gh repo create --public --source=. --remote=upstream
gh repo create
의 인수로 공개여부, 경로(현재 디렉터리), 원격저장소 이름을 설정한다.
- -r, --remote
Specify remote name for the new repository- -s, --source
Specify path to local repository to use as source
ji@ji-900X5L:~/newgitrep$ gh repo create --public --source=. --remote=upstream
✓ Created repository sweetyummyjelly/newgitrep on GitHub
✓ Added remote https://github.com/sweetyummyjelly/newgitrep.git
포크하고자 하는 Upstream 레파지토리에서 Fork 아이콘을 찾아 클릭
포크해 온 레파지토리는 위와 같이 출처가 표시되어 있다.
git clone URL
git clone
: 터미널에서 복제하고자 하는 URL을 입력하여 디렉터리를 생성ji@ji-900X5L:~$ git clone https://github.com/sweetyummyjelly/asciinema.git
'asciinema'에 복제합니다...
remote: Enumerating objects: 4646, done.
remote: Counting objects: 100% (1047/1047), done.
remote: Compressing objects: 100% (448/448), done.
remote: Total 4646 (delta 660), reused 883 (delta 582), pack-reused 3599
오브젝트를 받는 중: 100% (4646/4646), 2.00 MiB | 9.89 MiB/s, 완료.
델타를 알아내는 중: 100% (2664/2664), 완료.
cd 클론한 디렉터리
git remote -v
git remote -v
: 포크에 대해 현재 구성된 원격 레파지토리 확인ji@ji-900X5L:~$ cd asciinema
ji@ji-900X5L:~/asciinema$ git remote -v
origin https://github.com/sweetyummyjelly/asciinema.git (fetch)
origin https://github.com/sweetyummyjelly/asciinema.git (push)
origin에 나의이름/레파지토리이름 으로 나오는지 확인
git remote add upstream 업스트림 레파지토리 URL
ji@ji-900X5L:~/asciinema$ git remote add upstream https://github.com/asciinema/asciinema.git
ji@ji-900X5L:~/asciinema$ git remote -v
origin https://github.com/sweetyummyjelly/asciinema.git (fetch)
origin https://github.com/sweetyummyjelly/asciinema.git (push)
upstream https://github.com/asciinema/asciinema.git (fetch)
upstream https://github.com/asciinema/asciinema.git (push)
upstream에 원본 원격 저장소가 추가된 것을 확인할 수 있다.
git fetch upstream
업스트림 리포지토리에서 분기 및 해당 커밋을 가져온다. BRANCHNAME
에 대한 커밋은 로컬 분기 upstream/BRANCHNAME
에 저장
ji@ji-900X5L:~/asciinema$ git fetch upstream
remote: Enumerating objects: 693, done.
remote: Counting objects: 100% (595/595), done.
remote: Compressing objects: 100% (204/204), done.
remote: Total 401 (delta 238), reused 330 (delta 192), pack-reused 0
오브젝트를 받는 중: 100% (401/401), 67.73 KiB | 13.54 MiB/s, 완료.
델타를 알아내는 중: 100% (238/238), 로컬 오브젝트 70개 마침.
https://github.com/asciinema/asciinema URL에서
* [새로운 브랜치] asciicast-v2 -> upstream/asciicast-v2
* [새로운 브랜치] better-rec-input -> upstream/better-rec-input
* [새로운 브랜치] cols-rows-override ->
상기와 같이 업데이트 된 내역을 확인할 수 있다.