반응형

Pull Request

Pull Request란?

Push권한이 없는 프로젝트에 기여할 때 사용한다. Fork를 이용해 새로운 Repository를 생성하여 작업하고 Pull Request를 하면 원본 프로젝트 관리자가 코드 변경내역을 확인하여 Merge여부를 결정한다.

의미 : 내가 작업한 코드를 있으니 검토후 병합해주세요

방법

Github와 GitKraken을 통해 PR하는 과정이다. 다른 방법이 존재할 수 있다. 
  1. Fork
  2. clone, remote 설정
  3. branch 생성
  4. 수정 작업 후 add, commit, push
  5. Pull Request 생성
  6. 코드리뷰, Merge Pull Request
  7. Merge 이후 branch 삭제 및 동기화

1. Fork

참여하고 싶은 프로젝트가 생기면 아마 그 프로젝트에 Push 할 권한은 없을 테니까 “Fork” 해야 한다. “Fork” 하면 GitHub이 프로젝트를 통째로 복사해준다. 그 복사본은 사용자 네임스페이스에 있고 Push 할 수도 있다.

타겟 프로젝트(참여/기여하고싶은 프로젝트)의 저장소를 자신의 저장소로 Fork한다.


여기서는 내 저장소를 Fork하는거라 pknu-wap repository로 Fork했음

 

지정한 저장소에 Fork 되었다.

2. clone, remote 설정

Fork로 생성한 본인 계정의 저장소에서 clone or download버튼을 누르고 URL을 복사한다.

 

깃 크라켄에서 클론을 해준다.

3. Branch 생성

새로 적용한 풀 리퀘스트를 이용한 흐름은 GitHub의 원격 저장소를 각자의 계정으로 Fork해 간 뒤에 fork 한 저장소를 클론 받아서 작업용 브랜치를 하나 만들어서 작업하고 이를 Fork 한 저장소에 푸시해서 풀 리퀘스트로 원격 저장소에 보내는 방식이다. 로컬에서 master 브랜치에 작업해도 되지만 이렇게 하면 풀 리퀘스트를 나누어서 작업하기 쉽지 않으므로 Pull Reqeust마다 새로운 브랜치를 만들어서 Fork 저장소에 푸시한다.

브랜치를 누르고 브랜치 이름을 정해준다.


4. 코드 작성 후 add, commit, push

 

코드를 작성/수정하고 add, commit, push 해준다.

push 시에 branch로 해주어야 한다.

5. Pull Request 생성

 

Fork를 한 저장소로 들어오면 Compare & pull request 버튼이 활성화된다.

PR을 작성해준다.

6. 코드리뷰, Merge Pull Request

원본 프로젝트의 Pull requests 페이지에 들어가면 comment를 달며 토론할 수 있다.

Merge pull requestConfirm merge 하면 원본프로젝트에 Merge된다.


git 초보를 위한 풀리퀘스트(pull request) 방법

Pull Request를 이용한 개발 흐름을 적용해 보고 나서... :: Outsider's Dev Story

728x90
반응형

조건문

문자비교

char ch = 'a';

if(ch == 'a'){
}

이런식으로 논리연산자를 써서 비교.

하지만 문자열 비교는

String str = "hello";

if(str == "abc"){
}

이렇게 논리연산자로 비교하면 안된다.

if(str.equals("hello")){
}

.equals메소드를 이용하여 비교해주어야 한다.


대소문자 비교

if(str.equals("c") || str.equals("C")){}

if(str.equalsIgnoreCase("c")){} // 대소문자 구분x

.equalsIgnoreCase()메소드는 대소문자 구분없이 비교한다.


문자열을 문자로 변경, null체크 유의사항

str = "3";

if(str!=null && !str.equals("")){
    char ch = str.charAt(0);
}

str!=null로 먼저 null체크를 해주어야함.

안그러면 str.equals("") 메소드를 불러올 때 오류발생.


Math.random() 메서드

0.0과 10.0사이의 double값을 반환한다. (0.0 <= Math.random() < 1.0)

ex) 1~10범위 정수얻는 식

(int)(Math.random() * 10) + 1


if switch차이점

if문의 조건식과 달리, 조건식의 계산결과가 int범위 이하의 정수만 가능.

조건식 -> byte, short, int, char 만 가능

JDK7이상부터는 문자열도 가능

모든 switch문은 if문으로 변경가능하지만,

if문은 모두 switch문으로 변경할 수 있는건 아니다.

경우의 수가 많으면 switch문이 효율적이다.

if문은 else경우에 대해서도 연산을 하기 때문

728x90

+ Recent posts