거대한 정보의 더미들/파이썬 코딩테스트 정리

220112 깃헙 사용법

PurpleGuy101 2023. 1. 12. 22:58

 

----------

(최초작업)

1.깃헙에 가입 레포지토리를 만들어 준다.

first_project라는 이름으로 프라이빗 레포지토리를 만들었다.나의 경우는 github.com/hackguy21/first_project 라는 url이 레포지토리 주소가 됨.

 

Git을 설치한 후 VSC에서 Terminal - Git Bash를 실행.

 

git config --global user.name "[사용자 명]" 

git config --global user.email "[깃헙가입에 사용한 이메일]" 

을 통해 설정을 완료.

git config --list를 한 후 user.name=, user.email=에 입력한게 잘 들어갔나 확인하면 됨

-------------

 

2. 최초 프로젝트의 업로드의 경우 로컬 저장소에 있는 업로드 하고 싶은 폴더에 들어가 

/c/coding/python/project1의 폴더를 올리고 싶다면

cd python

cd project1을 입력하여 디렉토리를 변경한 후

git init 이라는 명령어를 실행. 

 

-----------------

 

3.

git add <filename>을 해서 업로드하고 싶은 파일을 올릴 수도 있으며

git add . 으로 폴더 내의 파일을 통째로 올릴 수 있다.

 

이후 git status를 통해 올라갈 생성될 브랜치에서 변경될 파일을 확인할 수 있다.

(최초 프로젝트라면 new file로 모든 파일들의 목록이 나올 것이다.)

원하지 않은 파일이 있다면 

git restore --staged <filename>으로 제외해주도록 하자.

 

---------------

 

4. 이 파일들을 이용하여 히스토리를 만들어 준다.

히스토리의 이름들은 first commit, second commit, ... 과 같은 버젼명이다.

git commit -m "first commit"

 

이후 깃헙상의 레포지토리로 이 히스토리의 파일들을 보내기 위해서

git remote add origin git@github.com:hackguy21/first_project.git 으로 오리진을 설정한다.

이후 git remote -v 로 오리진이 되는 레포지토리가 설정되었는지 확인할 수 있다.

아래의 글을 참조하여 주소를 잘못 설정한 경우 수정해준다.

 

깃 리모트 변경 하기

기존 리포지토리 깔끔하게 pull / push

git pull
git add .
git commit -m "clean push"
git push

기존 리포지토리 remote 제거

git remote remove origin

새 리포지토리 remote 추가

git remote add origin https://github.com/계정/리포지토리

 

-----------------

 

5. 마지막으로 

git push origin master를 입력하면

깃헙 레포지토리에 업로드가 완료된다.

 

 

-------------------

 

6 : 코드가 수정되어 수정된 코드를 다시 업로드 하는 방법은?

 

telegram_bot.py라는 파일의 마지막줄에 # 수정했습니다 라는 주석을 달아줬다.

 

 

 

코드를 수정한 후 저장한 뒤,

git add . 를 입력하고 

git status를 하면, 

 

수정,modified 된 파일을 볼 수 있다.

 

 

이 히스토리를 커밋해주자.

git commit -m "second commit"을 해준 뒤

git push origin master를 해주면 된다.

 

 

 

프로젝트의 히스토리가 first_commit 이 second commit으로 바뀌고 

수정된 파일의 히스토리가 second commit으로 바뀐 것을 알 수 있다.

 

 

 

 

-------------

 

(https://www.lainyzine.com/ko/article/git-reset-and-git-revert-and-git-commit-amend/)

 

 

7. 이렇게 수행한 커밋을 취소, 되돌리기, 덮어쓰기 하려면?

 

이렇게 수행한 second commit을 다시 first commit으로 되돌리고 싶다.

 

취소하기 (git reset)

커밋내용 되돌리기 (git revert)

기존 커밋 덮어쓰기(git commit --amend)

를 통해 커밋을 되돌릴 수 있다.

 

(1)

먼저 git reset 명령문을 통해 로컬저장소, 즉 내 컴퓨터에 있는 파일을 되돌리는 법을 알아보자.

 

git log --oneline을 통해 히스토리를 확인할 수 있다.

작업위치를 나타내는 HEAD의 포인터는 

현재 버젼은 second commit에 해당하는 c649987을 가리키고 있으며

우리는 first_commit에 해당하는 8321e8e로 되돌아 가고 싶다.

$ git reset --hard 8321e8e

를 통해 HEAD가 이전 커밋을 가리키게 한 후

 

$ git log --one line$ git status 를 해보면 이전 커밋으로 Reset 된 것을 알 수 있다.

 

수정했던 telegram_bot.py의 #수정했습니다 주석이 사라지고first_commit의 버전으로 되돌아 간것을 알 수 있다.

 

----

(미완, 커밋되돌릴때 다시 와서 작성해라)

(2)

하지만 우리는 깃헙 레포지토리에 second commit을 push해버렸다.

이 경우는 로컬 저장소에서 커밋을 취소해도 깃헙의 레포지토리에 올라간 프로젝트는 변하지 않는다.

 

push 했더니 오류가 발생하였다.

 

이 경우 앞선 git log --oneline을 통해 알아낸 이전 커밋의 포인터를 찾아서

$ git revert 8321e8e

를 해주면 아래와 같이 에디터가 실행되고, 기본메세지 그대로 저장하고 에디터를 종료하면 커밋이 추가된다.

 

(추후 내용 보완)

 

 

 

-----------

 

https://m.youtube.com/watch?v=lelVripbt2M 

 

 

 

https://m.youtube.com/watch?v=cwC8t9dno2s