티스토리 뷰

git

github 에 pull request 하기

주먹불끈 2018. 7. 4. 13:48

pull request 방법만을 보시려면 아래로 내려가 과정 부분을 보시면 됩니다.

 

상황

 

센서 작업을 위한 base pythone library 필요해서 깃헙을 뒤져서 하나 찾아냈다.

이미 라이브러리가 있으면 굳이 밑바닥에서 시작할 필요가 없다.

 

이를 기반으로 하나씩 필요한 기능을 만들어가는데, 개발하는 어플리케이션은

센서값을 반복해서 빠르게 읽어내야 했다. 여러 테스트와 개선을 이루었는데

그중에서 핵심적인 개선 부분을 하나 찾았다.

 

핵심 수정

 

read_byte_data() 2 호출 read_i2c_block_data() 1 호출

 

센서의 레지스터의 바이트값을 각각 읽어서 하나의 16비트 정수로 만들어주는데

한번 읽을때마다 최소한의 delay 줘서 센서가 안정적으로 동작하게 되어 있었다.

 

그런데 i2c 연속된 레지스터는 한번에 읽을 있는걸로 알고 있었다.

i2c 통신에 사용된 smbus 라이브러리를 뒤적거려보니 과연 함수가 있었고

테스트 결과 동작을 확인하였다.

 

 

고마움과 귀찮음

 

만들어 놓은 라이브러리를 활용해서 개발한 고마움 다시 일일이 확인하고 정리하여

pull request 하기는 귀찮은 마음이 충돌했다.

 

절충해서 깃헙의 issue 의견을 올렸다.

그런데 확인하더니 pull request 해달라고 요청을 하는 주인장

 

 

극뽁

 

귀찮기는 한데 이참에 한번 pull request 연습하고 정리하자 싶었다. 현재 업무에서

많은 사람들이 협업을 하며 repository 공유하며 pull request 활용할 일은 없었기에

겸사겸사 동기부여를 하여 귀찮음을 극뽁함

 

이번이 평생에 3번째 pull request 인듯

 

과정

 

- 상세 과정을 아래와 같이 정리해본다.

 

1. fork 한다

 

1) 원래 repository 에서 fork 한다

 


 

2) 그러면 계정에 fork 일종의 복제된 repository 생긴다

 


 

2. clone and branch

 

먼저 fork 것을 clone 으로 가져온다.

 

$git clone https://github.com/nicewook/Lidar-Lite.git

 

그리고 작업을 위한 branch 생성한다.

 

$git checkout -b faster_getDistance

 

이제 수정 작업을 준비가 되었다.

 

 

3. (optional) upstream 설정

 

계속 모니터링하고  pull request 해야 하는 상황이라면 아래와 같이 해주면 좋다

 

- fork repository remote 이름을 origin 으로 해둔 상황이고

- 원본 repository upstream으로 설정해두는 것이다.

 

$git remote add upstream https://github.com/Sanderi44/Lidar-Lite.git

 

 

이렇게 origin, upstream 으로 각각 설정해두고 나면 언제든 upstream 에서 pull 땡겨와서

로컬의 repository 최신으로  유지할 있으며, 다시 이를 fork repository push 하여

upstream 최신코드 + 로컬에서 수정한 사항을 동기화 있다.

 

 

$ git pull upstream master && git push origin master

 

 

 

4. modify - add - commit - push

 

소스를 수정하고 (modify), staging  (add) 다음

로컬에 commit 하고, origin 으로 push 해주면 pull request 위한 준비는 모두 끝났다.

 


 


 


 

 

 

5. pull request

 

깃헙 repository 가보면 방금 push 내용이 보이고, 그것을 pull request 있는 버튼이 생성되어 있다.

 


 

버튼을 누르고 pull request 하면 된다.

repository 주인장은 pull request 보고 추가 코멘트를 주거나, merge 것이다.

 



 

변경사항

 



반응형

'git' 카테고리의 다른 글

.git - 쩜깃의 이해  (0) 2019.01.24
git pull --rebase 를 쓰자  (4) 2019.01.15
git commit 을 gpg 로 암호화하기  (0) 2019.01.04
엉뚱한 branch에서 작업하고 commit 해버렸다면  (0) 2018.07.04
node project 를 github에 올려보자  (2) 2018.05.19
반응형
잡학툰 뱃지
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함