본문 바로가기

KNU_study/Linux 환경

(4) 깃허브 사용기 2 : 깃허브 fork, 수정 사항 업로드, git push fail 해결

728x90
반응형

 

 

1. Fork

 

나만의 고유 코드가 아닌, 상대방의 코드를 수정하는 경우가 존재한다. 이럴 경우, 상대방 레포지토리를 fork한 후 수정사항만 재업로드하는 방법이 있다. 

 

(1) 작업하고 싶은 저장소를 fork하여, 내 저장소로 복사한다. 

 

 

(2) 내 저장소로 가서 branch를 하나 만들어준다. 사실 fork한 순간, 그 레포는 내 것이기 때문에 브랜치를 새로 만들지 않아도 된다. 그리고 코딩고수 선배의 말을 듣자니 pull request하지 않을꺼면 굳이 브랜치 안 파고 된다고 한다. 

-> branch는 왜 필요한가? branch는 코드의 특정 시점을 가리키는 포인터다. 개발 작업을 분리 및 관리하기 위한 용도로 사용된다. 병렬 개발, 기능 분리, 안정성, 테스트와 베포 등의 기능을 수행한다. 

 

 

(3)  Fork한 저장소를 내 PC에 다운로드 받는다. 

 

git clone [HTTPS 주소]

 

 

 

2. 수정사항 업로드

 

(1) git status를 통해 수정한 파일을 확인한다. 

 

git status

 

(2) git add 수정한 파일을 통해, 파일을 업로드한다. 

 

git add [수정된 파일, 경로 포함해야 됨]
git add catkin_ws/src/wall_following_robot/scripts/follow_wall.py

 

 

(3) git commit를 통해 수정 사항을 저장한다. (쓸 말 없어서 그냥 .. 저렇게 씀) 

 

git commit -m "Commit Message"

 

 

(4) git push를 통해 commit된 내용을 레포지토리로 push한다. 

 

git push

 

 

 

3. 인증

 

(1) git commit을 처음 할 때 'Please tell me who you are'이라는 오류가 뜰 수 있다. 이런 경우, 터미널 창에 입력된 대로 깃허브 이메일과 이름을 작성해주면 된다. 

 

git config --global user.email "깃허브 이메일"
git config --global user.name "깃허브 닉네임"

 

(2) git push할 때 Username for 'https://github.com'과 Password for 'https://chaennlee@github.com'이 뜰 것이다. 닉네임과 비밀번호를 입력하면 fail이 뜬다. 2021년부터 깃허브에서 아이디 비번 방식의 접근을 없앴다. 해결책으로는 Access Token을 발행시킨 후, 그것을 password 칸에 입력해야 한다. 

 

깃허브 프로필의 Settings에 들어간다. 

Developer Settings 클릭 후 Personal access tokens에 들어간다. 

Fine-grained tokens [Beta]에서 Generate new token을 클릭한다. 

Token name에 이름을 작성하고, Expiration을 설정한다. 

권한을 모두 체크한 후 Generate한다. 

 

이렇게 생성한 토큰을 복사하여 passward 칸에 입력하면 권한 내에서 깃을 관리할 수 있다. 

 

 

 

 

출처1 : https://velog.io/@hm5395/git-git-Repository-Fork%EC%97%90%EC%84%9C-%EC%88%98%EC%A0%95%EC%82%AC%ED%95%AD-commmit%EC%98%AC%EB%A6%AC%EA%B8%B0

출처2 : https://www.inflearn.com/questions/88184/commit-%EC%8B%9C-%EC%98%A4%EB%A5%98-%ED%99%95%EC%9D%B8-%EB%B6%80%ED%83%81%EB%93%9C%EB%A6%BD%EB%8B%88%EB%8B%A4

출처3 : https://velog.io/@anak_2/Github-Access-Token-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-Support-for-password-authentication-was-removed-%EC%98%A4%EB%A5%98-%ED%95%B4%EA%B2%B0

출처4 : https://velog.io/@sebinn/GitHub-%EC%88%98%EC%A0%95%EB%90%9C-%ED%8C%8C%EC%9D%BC-%EC%98%AC%EB%A6%AC%EA%B8%B0%ED%8C%8C%EC%9D%BC-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8 

 

 

 

 

728x90
반응형