Search
Duplicate
😗

git clone 사용하지 않고, git init 부터 repository 가져오기

간단소개
팔만코딩경 컨트리뷰터
ContributorNotionAccount
주제 / 분류
git
Github
태그
Scrap
8 more properties

목적

관성적으로 git clone repository를 가져오는것에서 탈피하여, 깃허브의 동작을 조금 더 잘 이해하기 위함.
결국 아래 그림을 잘 이해하고자하는 목적을 가짐

실습

1.
mkdir temp; cd temp
2.
git init
3.
git remote add origin2 git@github.com:exgs/github_test.git
“origin2”은 remote의 이름이다. 내가 마음대로 변경할 수 있다.
`git log --all` 으로 확인해보기
`git remote show & `git remote show origin2` 로 확인해보기
4.
git fetch origin2 yunslee & git merge origin2/yunslee
현재 local branch가 remote branch의 commit 으로 이동함, 즉 Working Directory에서 remote repository에 있는 파일과 폴더로 작업할 수 있음
두 명령어를 합친 것이 git pull origin2 main 이다. git pull == git fetch + git merge

Advanced more

1.
git remote add origin3 git@github.com:exgs/github_test.git -t {branch_name}
특정 branch만 remote에서 가져올 수 있음
2.
git clone —depth 을 통해 Shallow clone을 할 수 있다.

추가 22.6.16

git remote add origin2 git@github.com:exgs/github_test.git 로 불러 올 수 있는 경우는 ssh key가 github에 등록되어있는 경우이다.
ssh key가 등록되어있지 않은 경우는 HTTPS로 불러와야하는데 이때는 토큰을 써야한다. 현재는 git remote add origin2 https://{token}@github.com/exgs/github_test.git 로 remote 리파짓토리를 붙일 수 있다.
github의 정책이 변경되기전에(21-8-13) password Authentication 이 가능할 시점할 때에는 git remote add origin2 https://{user}:{password}@github.com/exgs/github_test.git 로 불러 올 수 있었겠다.

감사합니다.

1.
커맨드를 실행하면서 git의 간단한 조작에 대해서 이해가 넓혀졌으면 좋겠습니다.
2.
틀린 부분은 comment 부탁드립니다.