GIT

🗄️ git

[git] 13 - GitHub Pull Request 작성

이전에 push 명령어를 이용하여 GitHub에 로컬 커밋 내용을 업로드하는 것을 설명했었는데, 나중에 협업을 하게 되면 해당 명령어는 아무나 쓸수 없을 것이다. 그래서 push 권한을 갖고 있는 담당자(owner)에게 내가 이러이러한 작업을 했는데 반영해주세요. 하고 요청을 하여 협업이 이루어진다. 요약 작업하려는 Repository fork 로컬 저장소로 clone branch 생성 및 작업 해당 작업 commit fork한 Repository에 push pull request 메시지 작성 먼저 GitHub에 있는 프로젝트를 내 계정으로 포크하는 과정이 필요하다 Fork란? 타인의 저장소를 내 저장소로 복사해오는 기능이다. 내가 작업하려는 프로젝트에 들어가면 우측에 Fork 버튼이 있을 것이다. 해당..

🗄️ git

[git] 12 - GitHub의 변경사항 내려받기2 (pull)

이전글에서 fetch를 설명했는데 fetch 명령어는 커밋을 내려받기만 할 뿐, 로컬에 반영되지 않고 FETCH_HEAD라는 약속된 브랜치에 내려받는다고 했다. 이번에는 내려받고 로컬에 merge까지 해주는 명령어를 알아보자. pull 해당 명령어는 위에서 설명한 것 처럼 내려받고 merge까지 해주는 명령어다. git pull 이전글과 똑같이 GitHub 홈페이지에서 직접 커밋을 하나 추가했다. 위의 커밋을 내 로컬에 내려받고 반영해보도록 하자. 아래의 사진과 같이 pull 명령어를 이용하면 내려받고 병합까지 된다. pull = fetch + merge

🗄️ git

[git] 11 - GitHub의 변경사항 내려받기 (fetch)

만약에 GitHub에서 내려받은 프로젝트가 내 로컬에서는 변경되지 않았는데, 다른 사람이 GitHub에 커밋을 했다면 해당 커밋을 내 로컬에 가져와야될 경우가 있을 것이다. fetch 해당 명령어는 GitHub에 새로 추가된 커밋을 내 로컬에 병합하지 않고 내려받기만 하는 명령어다. git fetch GitHub 홈페이지에서 직접 test.txt라는 파일을 생성한 커밋을 만들었고, 해당 커밋을 내려받는 것을 직접 해보자. 아래의 사진과 같이 홈페이지에서 직접 커밋을 한 개 생성했다. 터미널에서 log를 확인해보면 이전글에서 했던 "delete 1008 folder" 가 마지막 커밋일 것이다. 그리고 GitHub는 "Create test.txt in github" 라는 커밋이 추가되어서 한 단계 앞서 있다..

🗄️ git

[git] 10 - GitHub에 업로드하기 (push)

이전글에서 내려받은 프로젝트를 로컬에서 작업한 후, GitHub에 작업내용을 반영하는 방법을 알아보자. push 해당 명령어는 로컬에서 커밋한 것을 GitHub에 반영하는 명령어다. git push git push -u //최초에 한번만 저장소명과 브랜치명을 입력하고 그 이후에는 git push만 입력해도 됨 예제로 어떻게 push를 사용하는지 알아보자. 나는 del/1008 이라는 브랜치를 만들어서 해당 브랜치에서 1008 A/B 라는 폴더를 삭제하고 GitHub에 반영하려고 한다. 우선 아래의 사진과 같이 'del/1008' 브랜치를 생성하여 해당 브랜치를 체크아웃했다. 그 다음, 1008 폴더를 삭제하고 "delete 1008 folder" 라는 커밋 메시지로 커밋까지 완료했다. 커밋까지 완료했으..

🗄️ git

[git] 09 - GitHub에 있는 프로젝트 내려받기 (clone)

2023.03.27 - [git] - [git] GitHub 연동 (MacOS) GitHub에 있는 프로젝트를 내 로컬 PC로 내려받아보자 우선 아래의 사진과 같이 GitHub에서 내려받을 프로젝트를 들어가서 초록색 Code 버튼을 클릭한다. 클릭하면 아래의 사진과 같이 팝업창이 뜰텐데 여기서 SSH를 클릭해서 복사해준다. 우리는 이전글에서 SSH 연동을 해줬기 때문에 SSH를 이용하여 내려받을 것이다. (글 상단에 있는 이전글 참고) clone 해당 명령어는 GitGub에 있는 프로젝트를 내 PC로 내려받는 명령어다. git clone 내려받을 위치로 이동해서 아래의 사진과 같이 명령어를 입력한다. 내려받은 후 ls 명령어를 입력하면 해당 프로젝트 폴더가 생겼을 것이다. 그리고 주의할 점이 있는데 아래..

🗄️ git

[git] GitHub 연동 (MacOS)

앞으로 내 PC에서 작업한 것들을 GitHub에 업로드하거나 GitHub에 있는 것을 내려받기 위해서 GitHub를 이제 맨날 이용할 것이다. 그래서 내 PC에서 사용하고 있는 git과 GitHub를 SSH로 연결하는 방법을 본 게시글에서 정리해보려고 한다. ssh 기본키/공개키 발급 우선 터미널을 열고 아래에 명령어를 입력한다. ssh-keygen 해당 명령어는 ssh 접속을 할 때 필요한 기본키/공개키를 발급받는 명령어다. 입력하면 아래의 사진과 같이 /Users/seonghye0n~ 라는 경로에 키를 발급받을 것이냐고 물어보는데, 나는 해당 경로 그대로 쓸거기 때문에 그냥 엔터를 쳤다. 발급이 됐다면 아래의 사진과 같이 발급 받은 경로에 있는 id_rsa.pub 파일을 cat 명령어를 이용하여 열..

🗄️ git

[git] 08 - 브랜치 병합 (merge)

2023.03.27 - [git] - [git] 07 - 브랜치란? (branch) 앞선 글에서 main 브랜치와 foo 브랜치를 작업했는데 foo 브랜치에서 작업한 것을 main 브랜치에 반영하려면 어떻게 해야 될까? 현재 커밋은 아래의 사진과 같다. 이제 'foo' 브랜치에서 작업했던 커밋들을 main 브랜치에 병합해보도록 하자 merge 해당 명령어는 브랜치를 병합하는 명령어다. git merge 해당 명령어를 쓸 때 주의할 점은 'foo' 브랜치의 커밋을 main 브랜치로 병합하려고 하기 때문에 merge 명령어를 입력하기 전에 main 브랜치를 체크아웃 해야 한다. 그래서 아래의 사진과 같이 main 브랜치를 체크아웃 한 뒤, merge 명령어를 입력했다. merge가 정상적으로 됐다면 아래의 ..

🗄️ git

[git] 07 - 브랜치란? (branch)

앞서 설명했던 것들은 단순히 명령어에 대해서만 설명을 했고, 본격적으로 git을 쓰려면 브랜치라는 것을 이해해야 하는게 중요하다고 생각한다. 브랜치(branch)란? 브랜치는 버전의 분기라고 하는데, 쉽게 말해서 여러 개의 버전의 흐름을 관리하는 기능이라 할 수 있다. 만약 브랜치가 없다면 어떤 단점이 있을까? 예를 들어, 쇼핑몰을 만들고 있는데 A 개발자는 주문 목록 조회 기능을 작업하고 있고, B 개발자는 장바구니 기능을 작업하고 있다고 가정하자. 그럼 A개발자가 작업한 내용과 B개발자가 작업한 내용을 일일이 대조하여 코드를 합쳐야 한다. 그리고 합치는 과정에서도 실수가 발생할 수 있다. 더보기 실제로 전회사에서는 TFS로 버전관리를 했는데... TFS는 누가 어떤 코드를 작업중이면 그 파일은 다른 ..

seonghye0n
'GIT' 태그의 글 목록