GitHub 활용

GitHub로 프로젝트 관리하기

Kim나현 2025. 4. 28. 15:42
반응형

github로 프로젝트를 관리하기 위해서는 git bash를 이용하여 일련의 명령어들을 입력해주어야 한다.

계속 찾아보기엔 내 시간이 아깝기 때문에 저장해놓고 용이하게 찾아보려고 한다.

 

1. 깃 설정을 바꾸기 위해 다음과 같이 입력한다.

git config --global init.defaultBranch main

위 명령어를 입력하면 기본 브랜치를 master가 아닌 main으로 바뀐다.

 

(과거에는 master를 기본 브랜치로 사용했다고 한다.)

 

2. 이제 현재 위치한 프로젝트 폴더에서 깃 저장소를 만들고 초기화한다.

git init

위 명령어를 입력하면 현재 위치에서 .git 폴더가 생성된다. 이 폴더는 깃이 사용하는 모든 정보(버전 기록 )를 담고 있다. 현재 위치는 깃이 관리하는 프로젝트 디렉토리가 된다. 

 

3. github 계정 정보를 입력한다. 

git config --global user.email "<email_address>"
git config --global user.name "<user_name>"

 

4. 커밋할 파일들을 staging area에 넣는다.

git add <file_location>

 

그리고 아래 명령어를 입력하면 파일이 잘 담겼는지 확인할 수 있다.

git status

 

5. staging area에 있는 파일들로 새로운 버전을 만든다.

git commit -m "<description>"

 

파일의 내용을 만들고 두번째 버전을 만드려면

git add *
git commit -m "<description>"

아래 명령을 입력하면 커밋된 정보를 확인할 수 있다.

git log

위 명령어를 입력하 여러 커밋과 사용자의 이름, 정보가 나온다.

 

파일을 커밋하면 어느 버전이든지 고유의 커밋 식별자를 이용하여 자유롭게 되돌아갈 수 있다. 

git checkout <식별자>

커밋의 식별자는 git log 명령어를 통해 확인할 수 있으며 식별자 앞 7자만 입력하여도 된다.

 

6. 이제 깃의 원격 저장소와 로컬 저장소를 연결한다.

git remote add <원격 저장소를 부르는 별명> <원격 저장소의 주소>

아래 명령어를 입력하면 현재 연결된 원격 저장소를 확인할 수 있다.

git remote -v

아래 명령어는 연락을 끊는다.

git remote remove <원격 저장소의 별명>

 

7. 이제 커밋 파일을 원격 저장소에 올린다.

git push <원격 저장소의 별명> main

 

만약 main이 아닌 다른 브랜치에 올리고 싶다면,

git fetch <원격 저장소 별명>

위 명령어는 원격 저장소(origin)의 최신 브랜치 상태를 로컬에 갱신한다.

git branch --set-upstream-to=origin/<브랜치명> <브랜치명>

위 명령어를 입력하여 기존 <브랜치명>을 <브랜치 별명/브랜치명>에 연결하여 추적 관계를 설정한다.

git branch -vv

이후, 다음 명령어 입력 결과가 <브랜치명> 옆에 <브랜치 별명/브랜치명>이 출력된다면 성공적으로 연결됐다는 의미이다.

 

8. 이제 github에 커밋 파일을 확인할 수 있다.

 

만약 팀원이 github의 파일을 수정했다면 아래 명령어를 통해 파일을 받아올 수 있다.

git clone <원격 저장소 주소>
cd <저장소_이름>
git checkout <커밋해시>

위 명령어를 수행하면 다음과 같은 폴더/ 파일이 생성된다.

 

(현재 디렉토리)
└── 입력한 브랜치 이름/
    ├── .git/
    ├── README.md
    └── other_project_files...


 

8-1. git add로 staging area에 다른 파일을 실수로 올릴때 다음과 같은 명령어를 입력한다.

git restore --staged [제외할 파일 이름]

그럼 add하여 staging area에 올린 수정 작업을 작업 디렉토리에 되돌려 staging area의 파일을 제거한다. 작업 디렉토리의 수정 작업은 그대로 유지된다.

참고로 이 명령어를 사용할 때는 커밋이 하나라도 있어야 한다.
만약 커밋이 하나도 없다면 에러가 발생한다.

다음과 같은 명령어를 입력하면 수정 작업까지 제거되고 이전 상태를 복원한다. 

git restore <제외할 파일 이름>

 

8-2. 다음과 같은 명령어는 커밋한 파일을 취소한다.

git reset --soft HEAD^

 

위 명령어는 가장 최근의 커밋을 취소하며 staging area에는 수정 작업이 그대로 남는다. 

 

커밋과 staging area까지도 취소하고 싶다면 다음과 같은 명령어를 입력한다. 

git reset --mixed HEAD^

위 명령어는 커밋과 staging도 취소한다. 

 

커밋과 staging, 작업 디렉토리의 수정 작업까지도 취소하고 싶다면 다음과 같은 명령어를 입력한다. 

git reset --hard HEAD^

 

특정 커밋 내용을 취소하고 싶다면 다음과 같은 명령어를 입력한다. 

git revert <커밋 해시>

특정 커밋을 취소하기 위해서 새 커밋을 생성한다. 히스토리를 유지하면서 잘못된 커밋만 뮤효화할 때 사용한다. 

반응형