GIT

> [Git/Github] 소스트리 사용 : 깃허브 레포지토리에 프로젝트 올리기

1z 2024. 1. 15. 17:34

 

 

 

 

 

1) 로컬저장소 등록

1. 소스트리 프로그램을 실행한 뒤, 'Local' (로컬저장소) 상태에서 상단의 메뉴 아이콘 중 'Add'를 클릭한다.

 

2. Add a repository : Git 저장소 추가

 

로컬 저장소 내부의 프로젝트 폴더를 선택한다.​

정상적으로 경로를 지정한경우, 하단에  'Git 저장소입니다' 라는 메시지가 발생한다..

이후 하단의 '추가'버튼을 누르면, 소스트리에 해당 로컬저장소가 등록된다.

 

 

 

☆ 문제발생

적합한 복사본 경로가 아니라고 나오는 경우 => 프로젝트 내부에 .git 폴더가 없어서 생기는 문제이다.

 

 해결방법 : 터미널로 프로젝트 경로에 진입해서 git init 명령어를 실행한다. 

: git init 은 initialize(초기화) 를 의미한다. 이 명령어를 실행하기 전까지 폴더는 내 컴퓨터에만 존재하는 세상 평범한 폴더였지만, 이제는 버전 관리가 가능한 특별한 폴더가 된다.

 

 

 

2) 프로젝트 파일들 스테이지에 올리기  (* git add)  

1. 스테이지에 올리지 않은 파일:

내 컴퓨터의 로컬저장소(Git 저장소) 폴더 내에 새로 추가한 파일, 변경한 파일 등 변경사항이 나타난다.

 

2. 스테이지에 올라간 파일

repository 에 올라갈(업데이트될, 커밋될) 파일들

 

 

3) commit 진행  

커밋은 프로젝트의 소스 코드에 대한 변경 내용을 기록하는 것으로 스냅샷으로 생각하면 쉽다.

Git Bash 창을 사용했을 때, git commit -m "설명" 명령어를 사용했던 과정과 같은 기능

 

 

커밋이 성공적으로 실행되면, 왼쪽 브랜치에 master 가 추가된 것을 확인 할 수 있다.

 

 

 

4) 원격저장소 연결 ( Github Repository 와 연동) 

 

 

 

 

5) Push

1. 푸시할 브랜치(branch) 를 선택하고 push 버튼을 클릭한다.

 

 

 

☆ 문제발생 

github 에서 repository를 만들 때, README.md 파일을 같이 생성해서 충돌난 것이다.

 

 

  해결방법 1: git pull 명령어로 원격 repository를 pull 받는다. (fetch, merge 진행된다.) 

git pull origin master

 

 

  해결방법 2: 문제가 지속적으로 발생시, commit 히스토리가 서로 연관성이 없어서 merge가 거절된 것이다.

아래 명령어를 입력한다.

 --allow-unrelated-histories : 서로 관련되지 않은 두 개의 Git 저장소를 단일 히스토리 타임라인을 사용하여 하나로 결합하는 방법.

git pull origin master --allow-unrelated-histories

 

git status 로 상태 확인. 

 

push 재진행

git push -u origin master

 

 -u  :해당 브랜치의 upstream을 설정하는 명령