1. 프로젝트가 존재하는 폴더 내에 진입.
cd myProject
2. Git 초기화
git init
git init 자세히
- Git 저장소 생성: git init은 해당 디렉토리에 .git이라는 숨겨진 폴더를 만들어 Git이 파일 변경 사항을 추적할 수 있게 합니다. 이 폴더에는 Git이 필요로 하는 모든 버전 관리 데이터가 저장됩니다.
- 버전 관리 활성화: git init을 실행한 후부터는 Git이 해당 디렉토리 안의 파일들을 추적하고, 커밋을 통해 특정 변경 사항을 기록할 수 있습니다. 초기화하지 않으면 Git은 해당 디렉토리의 파일들을 관리할 수 없습니다.
- 원격 저장소와 연결: git init 후에 git remote add origin <원격 저장소 URL> 명령을 통해 원격 저장소와 연결할 수 있습니다. 이렇게 하면 로컬에서 커밋한 내용들을 git push 명령어로 원격 저장소에 업로드할 수 있게 됩니다.
요약하자면 git init은 디렉토리에서 Git을 통해 버전 관리를 시작하기 위해 꼭 필요한 초기화 작업이며, Git의 기능을 사용 가능하게 하는 첫 단계입니다.
3. 프로젝트를 연결할 Github repository 생성(Readme 등 파일 생성 없이 빈 repository로 생성 권장)
4. Repository 연결
git remote add origin <원격 저장소 URL>
ex)
git remote add origin "https://githum.com/userId/RepostiroyName"
origin은 뭔가?
왜 origin을 사용하는가?
- 기본 원격 이름: origin은 관습적으로 기본 원격 저장소에 붙이는 이름입니다. git remote add origin <원격 저장소 URL>이라고 하면, <원격 저장소 URL>을 origin이라는 이름으로 저장해 쉽게 사용할 수 있게 됩니다.
- 편리성: 나중에 git push origin main이나 git pull origin main처럼 origin을 사용해 명령을 단축할 수 있습니다. 이 origin을 통해 원격 저장소 URL을 다시 쓸 필요 없이 간단하게 사용할 수 있습니다.
꼭 origin을 써야 하나요?
꼭 origin이어야 하는 것은 아닙니다. git remote add 명령에서 origin 대신 다른 이름을 사용할 수도 있습니다. 예를 들어, git remote add myrepo <원격 저장소 URL>이라고 하면, 이후에는 git push myrepo main처럼 사용할 수 있습니다.
하지만 여러 사람이 협업할 때는 origin이 표준화된 이름이라 사용하면 다른 개발자와의 커뮤니케이션에서도 혼란이 적습니다.
연결된 repository 확인 (fetch / push 주소 확인)
git remote -v
output
origin https://github.com/userId/RepositoryName/ (fetch)
origin https://github.com/userId/RepositoryName/ (push)
Git에서는 원격 저장소와의 상호작용을 fetch와 push로 구분하여 관리합니다. git remote -v 명령어를 통해 보신 것처럼, 각 원격 저장소 URL이 fetch와 push로 두 번 표시되는 이유는 다음과 같습니다.
- fetch: 원격 저장소에서 최신 변경 사항을 가져올 때 사용되는 URL입니다. git fetch 또는 git pull 명령어를 사용할 때 이 URL을 통해 원격 저장소의 내용을 로컬로 가져옵니다.
- push: 원격 저장소로 로컬 변경 사항을 업로드할 때 사용되는 URL입니다. git push 명령어를 통해 이 URL로 로컬 커밋이 원격 저장소에 반영됩니다.
왜 둘 다 필요한가요?
Git에서는 원격 저장소와의 상호작용을 명확히 구분하기 위해 fetch와 push를 분리해 놓았습니다. 이를 통해 같은 원격 저장소에 대해, 가져오는 URL(fetch)과 업로드하는 URL(push)을 각각 설정할 수 있습니다.
일반적으로 fetch와 push가 동일한 URL을 가리키지만, 필요에 따라 다르게 설정할 수도 있습니다. 예를 들어, 협업 중일 때는 다른 개발자의 변경 사항을 가져오는 저장소와 내가 커밋을 푸시하는 저장소를 별도로 지정할 수 있습니다.
요약하자면, Git은 fetch와 push 작업을 분리하여 각각 URL을 지정해 주기 때문에 git remote -v 명령어에서 둘 다 표시됩니다.
'Git' 카테고리의 다른 글
GIt의 기본 개념 및 work flow (1) | 2024.11.11 |
---|