저번엔 로컬에서 깃을 통해 형상관리를 하는 방법을 알아봤는데요. 

 

오늘은 원격지 git repository에 소스를 올려 관리 하는 방법을 간단하게 알아보겠습니다.

 

 

1. 로컬에 깃 초기화하기 : way-be-developer.tistory.com/132?category=902808

 

- 01. git 시작하기 (로컬에서 작업하기) - 비전공개발자

개발을 하면서 느끼는 점은 협업 툴의 중요성입니다. 그래서 이번엔 새로운 형상관리 시스템인 깃허브를 배워보려고 합니다. 참고로 오늘 나오는 정보의 모든 것은 www.youtube.com/watch?v=FXDjmsiv8fI&t=

way-be-developer.tistory.com

 

 

2. github에 원격 저장소 생성하기(계정 필요)

  • repository엔 사용할 이름을 적어 넣으면 된다.
  • public & private

 

public => 오픈 소스로 대중에게 소스를 공개함

private => 대중에게 공개되어선 안되는 소스. 일부 사람을 초대하여 작업하는 방식

 

  • 기존 소스가 이미 로컬에 있는 상태이기 때문에, Initialize this repository with 관련 설정은 하지 않습니다.

 

 

3. 깃허브 repository에 소스 올리기

  • git status를 통해 상태 확인 => 커밋 안된 작업물이 있나 확인. 모두 커밋 해놓기
  • git remote => 원격 레포지터리 확인하는 명령어로, 지금 현재 상태에선 아무것도 나타나지 않음(아직 원격저장소 등록 전이라서)
  • 아래와 같은 명령어를 통해 원격 저장소 등록하기

위 내용을 파헤쳐 보자면,

git remote add origin https://github.com/kimdonghyeon0723/newTemp.git => 원격저장소인 https.../newTemp.git을 origin 이라는 이름의 원격저장소로 추가하겠다는 말.

git branch -M main => master 브랜치의 이름을 main으로 정하겠다는 말

git push -u origin main => main 이라는 브랜치를 원격 저장소에 푸쉬하겠다는 말. 

 

  • 계정을 입력합니다. (에러가 날땐 git을 업데이트 해보세요)
  • git remote 로 원격저장소 확인하기
  • source tree 에서 원격저장소 추가 버튼으로 추가하는 방법도 있음
  • 커밋 이후 git push origin main -> 명령어를 통해 원격 저장소인 origin 에 로컬의 main branch를 푸쉬하겠다는 말
  • .gitignore 파일 생성 후 패턴을 입력 한 뒤, 커밋&푸쉬 하는 것으로 업로드 파일을 제한하는 것이 가능하다. 이 파일은 최상위에 위치되어야 하며, gitstatus 를 통해서 .gitignore에 적힌 패턴에 해당하는 파일이 커밋 되상이 되었다가 빠졌다가 하는 모습을 관찰 할 수 있다. => 

www.atlassian.com/git/tutorials/saving-changes/gitignore

 

.gitignore file - ignoring files in Git | Atlassian Git Tutorial

Git ignore patterns are used to exclude certain files in your working directory from your Git history. They can be local, global, or shared with your team.

www.atlassian.com

위 사이트에서 .gitignore에 관련된 설정을 살펴보도록 한다.

 

4. 원격 저장소 내려받기 (download)

  • 새 폴더를 만들어 해당 위치에서 git clone "원격저장소 주소" 를 입력해서 내려받기 (source tree의 clone 기능과 동일)
  • 이때 해당 주소지의 가장 최상위 폴더가 열리므로, cd를 통해 폴더 안으로 들어가 git log로 커밋 상태를 확인가능

 

5. 작업내용 push

  • git add -A => git commit ~ => git push origin main 이란 기본 방법으로 푸쉬가 가능하나 주의할 점이 있다!

푸쉬 이전엔 꼭 pull을 받아야 push가 가능하다는 것이다! 

  • git fetch =>원격저장소의 소식을 받아오는 것이다. 이 후 git status를 통해 원격저장소와 로컬간의 변동사항을 파악할 수 있다.
  • git pull => 원격 저장소의 변경사항을 받아온다. 만약, 로컬에서 수정한 파일의 같은 부분이 원격저장소 파일의 같은 부분에도 수정되어 있다면 conflict(충돌) 가 난다.
  • 항상 작업 이전, push 이전엔 fetch&pull 받도록 하자. => 충돌 방지용도
  • conflict 가 날 경우 해당 파일을 수정 후 git commitgit push (뒤에 별도 옵션 X)

 

6. 원격저장소에 브랜치 추가하기

  • 로컬에 브랜치 추가 후 이동 => git checkout -b new-branch-name
  • 작업 내용 커밋 후 push origin new-branch-name 

 

7. 추가한 브랜치 받아오기

  • git branch => 로컬브랜치 보기
  • git branch -a => 원격저장소 브랜치를 포함하여 보기
  • 만약 저장소에 브랜치가 추가되었을 경우 fetch를 내려 받은 후 조회해야 보임 => git fetch & git branch -a
  • git checkout -b local-branchname origin/new-branch-name => local-branchname 이란 이름으로 원격저장소인 origin의 new-branch-name이란 브랜치를 따오겠다는 의미임. 이때 local-branchnamenew-branch-name와 동일하게 하는 것이 좋아보임

8. conflict

  • 동일한 파일을 수정 후 같은 곳으로 commit 또는 merge 하는 곳에서 남
  • conflict 가 날 경우 해당 파일을 수정 후 git commit  git push (뒤에 별도 옵션 X)

 

9. 원격 브랜치 삭제

  • git push -d 원격명 브랜치명

'개발 > git' 카테고리의 다른 글

Gitflow 에서 branch 의 종류 설명  (0) 2021.10.02
Git flow 전략 공부  (0) 2021.10.02
- 01. git 시작하기 (로컬에서 작업하기)  (0) 2020.12.27