보안프로그램 모듈 외주를 진행하면서 github를 사용하게 됐다. 예전부터 간간히 쓰지만 사용을 안할수록 잊어버리기 때문에 정리한다.
우선 실제로 진행하는 프로젝트의 우측상단에서 fork를 통해 나의 계정프로젝트로 복사해준다.
이후 나의 레포지토리 목록을 보면 fork한 폴더가 있다.
해당 폴더로 들어가면 이렇게 나의 개인주소와 원본 프로젝트의 주소가 아래에 나와있는것을 알 수 있다.
이후 나의 작업 컴퓨터에 깃허브를 설치하고 다음주소를 복사하면된다.
git clone (복사한 URL)
작업할 컴퓨터의 터미널에서 해당 명령어를 입력해주면 fork된 나의 계정의 프로젝트를 그대로 가져온다.(vscode의 터미널을 이용하는것을 추천)
git remote add 사용할 닉네임 (원본 프로젝트의 clone할 URL)
git remote add upstream https://~~~ #보통 upstream으로 표현한다.
git remote -v #잘됐는지 확인하는 방법 upstream이라고 나와있을것이다.
다음 명령어를 이용해주면 정상적으로 원격저장소가 연결된다.
내가 fork한 나의 계정 저장소 -> origin
원본 프로젝트의 원격저장소 -> upstream(설정해준 닉네임) 이된다.
branch
git branch #확인
git checkout -b 사용할이름
작업할때 branch를 만들어서 한다고 하는데 우리프로젝트에서는 다이렉트로 해서 모르겠다.
add, commit, push
# git add .
# git commit -m "메시지 내용"
# git push origin {브랜치명}
소스코드를 작성하고 github에 반영하고 싶을때 사용한다. 저처럼 브랜치를 만들어주지 않았으면 main이므로
git push origin main을 하게 되면 반영이된다.
원본 프로젝트도 바꿔야 하므로
push를 하게 되면 github홈페이지에서 contribute가 있는데 여기의 open pull request버튼이 활성화 되어있는것을 볼 수 있다.
pull request를 하면 원본 프로젝트의 관리자가 나의 소스코드를 보고 반영을 할지 말지 확인을 해줘야 반영이 된다.
fetch,merge,pull
작업을 하기 전 다른 사람의 소스와 동기화 하는것은 필수이다.
내 소스코드를 바꾸지 않는상태에서 동기화만 하기 ->fetch
fetch후 내소스코드에 반영하기->merge
위의 두작업을 한번에 하기 -> pull
git fetch upstream(설정해준 닉네임)
git merge upstream main(브랜치)
git pull upstream main
나는 pull이 편해서 그냥 pull만 사용했다.
참고-
https://dev-youngjun.tistory.com/47
https://www.lesstif.com/gitbook/github-fork-20775062.html
'꿀팁!' 카테고리의 다른 글
ubuntu 21.04 wired connection 사라졌을때 (1) | 2022.04.13 |
---|---|
Flask+restful+SQLAlchemy+flask_jwt_extended공부 (0) | 2022.03.29 |
Flask-RESTX Swagger를 이용한 문서화 (0) | 2022.02.28 |
flask + rest api 공부 (0) | 2022.02.28 |
Pandas를 이용한 데이터 정리 (0) | 2022.02.03 |