3월 05, 2024

GIT branch 전환하기 , 새로운 branch 작성과 동시에 전환하기

1. Git Branch 전환하기

Git으로 코드를 작업하다 보면 branch를 여러 개 만들어서 코드를 용이하게 관리하곤 한다. 

 

오늘은 아주 간단하지만 외우고 있으면 유용한 Git branch 전환하는 방법에 대해 소개하도록 하겠다.


 2. git checkout

Git branch 전환에 있어 핵심 용어는 "checkout"이다. 
$ git checkout <전환하고자 하는 branch명>

위 명령어와 같이 git checkout 뒤에 전환하고자 하는 branch 명을 사용해주면 된다. 

 

예를 들어 내가 test1이라는 branch로 전환하고 싶다면 현재 존재하는 branch과 관계없이

$ git checkout <test1>

위와 같이 사용해주면 된다. 

 


3. 브랜치를 생성함과 동시에 branch 이동하기

만약 branch가 아직 만들어지지 않은 상황에서 새로운 브랜치를 생성함과 동시에 해당 branch로 이동하고 싶다면 어떻게 하면 될까? 

 

checkout 뒤에 -b 라는 옵션을 넣으면 된다. 

 

$ git checkout -b <새로 만들고 이동하려는 브랜치명>

 

checkout 할때와 동일하게 명령어를 쓰나 가운데 -b라는 옵션만 넣어주면 새로운 branch를 생성함과 동시에 전환할 수 있다. 


2월 25, 2024

마크다운 문서 작성 시 로컬에 있는 이미지 쉽게 올리기

1. Github readme 혹은 마크다운 문서 시 이미지 쉽게 올리기

Github readme를 작성하거나 마크다운 문서를 작성할 때 이미지를 쉽게 올리는 방법을 알아보자. 
이미지를 올릴 때 여러 가지 방법이 있는데 가장 정석인 방법은 github에도 img라는 폴더를 만들고 그 아래 올릴 이미지를 모두 업로드 한 뒤 img/해당 이미지로 경로를 설정해주는 방법이다. 하지만 이 방법은 img를 업로드해야 하기 때문에 나는 잘 사용하지 않는다. 
 


2. Github Issues 활용하기


그래서 단순히 이미지를 붙여넣기만 해서도 업로드가 가능한, 조금 더 쉬운 방법을 알아보도록 하자. 
물론, github readme를 작성하고 있다면 바로 readme.md에 복사, 붙여넣기를 하면 이미지 경로가 뜨지만 우리는 로컬에서 markdown문서를 만들고 있고, 해당 마크다운 문서를 이후에 github에 업로드 했을 시에도 이미지가 잘 나오게 하기 위한 경우를 보고 있는 것이다. 
 
방법은 간단하다. 바로 github에 "Issues" 부분을 활용하는 것이다. 



1) Issues 접속

github repository를 생성해준 뒤, Issues 부분에 들어간다. 



2) New issue 클릭

이후 New issue를 클릭해주면, 


위와 같은 부분이 나오게 될 것이다. 

3. 붙여넣기 후 경로 파악

다음으로 올리고 싶은 이미지를 복사한 뒤, Leave a comment라고 되어 있는 부분에 붙여넣기를 해보자. 
 
나 같은 경우에는 캡쳐한 이미지 파일을 자주 올리는데 그럴 때 굉장히 편한 방법이다. 
붙여넣기를 하면,


위와 같이 image 경로가 자연스럽게 나오게 되는데, 그러면 
<img src="https://user-images.githubusercontent.com/71162530/124603983-704d0d00-dea5-11eb-9b1f-e4541f9e0822.png"  />
위와 같이 적어주면 되는 것이다.
 
위에 Submit new issue는 누르지 않는다!! 
 
형식은
<img src="위에 나온 url"/>
이런 식으로 적어주면 된다. 
 

이런 식으로 작성해주면 로컬에 있는 이미지, 캡쳐 이미지, 다운받은 이미지에 관계없이 모두 다 git에서 잘 보여지는 것을 확인할 수 있다. 
 
readme를 github repository에서 바로 작성하는 경우에는 issues를 활용하지 않고 바로 이미지 붙여넣기를 하면 경로가 자동으로 나온다! 


2월 23, 2024

[Github] import repository 방법

Github import repository

Github에서 repository를 fork 하는 것이 아닌, 다른 repository에 있는 코드를 가져오고 싶다! 라고 할 때 우리는 import repository를 사용합니다. 

 

import repository 순서

Import repository는,



위와 같이 Github 오른쪽 상단에 + 를 클릭하면 보입니다. 여기서 New repository가 아닌, Import repository를 클릭하면 됩니다. 

 

클릭하면 아래와 같이,



clone 받을 이전 repository의 URL을 넣을 수 있는 칸이 나와있습니다. 이 URL은 복사하고자 하는 repository의 주소를 넣어주면 되는데요, 이 주소는 repository에 들어가서,



code를 누르시고, URL 옆에 버튼을 누르면 자동으로 복사가 됩니다. 


그런 다음에 다시 Import repository를 눌렀을 때 나오는 화면으로 돌아가서,

Repository Name을 적어주시면 됩니다.

 

여기서 Repository Name이란 import를 해서 나의 repository의 이름을 설정하는 것이죠. 


Repository Name을 설정한 이후에,

Public과 Private중에 공개범위를 설정해주고, 아래 Begin Import 버튼을 누르면 import respository가 완료됩니다.


2월 19, 2024

Github cloning 받기

깃허브에 있는 코드를 나의 local 환경으로 cloning 받고 싶을 때 아래와 같이 해주면 된다. 매우 간단하다. 

먼저 cloning을 받을 폴더로 이동해준다. vs 코드 terminal에 cd 라는 명렁어 뒤에 이동해줄 주소를 써주면 된다. 

 

내 경우에는 OneDrive/바탕 화면으로 이동해주었다. 이렇게 띄어쓰기가 주소에 포함 되어 있는 경우 " " 안에다가 적어주면 된다. 이렇게 이동해줄 폴더로 이동을 해준 뒤에 먼저 자신이 clone할 깃허브 주소에 가보자

 

그러면 상단에 code라는 부분을 클릭하면 자신의 clone하고 싶은 github 주소가 보일 것이다. 

 

이후 빨간색 부분을 클릭하면 자동으로 주소가 복사가 된다. 

 

그 뒤에 vs code로 다시 돌아와 터미널에 아래와 같이 적어주면 된다.

 

git clone 방금 복사한 주소 붙여넣기

그러면 위와 같이 잘 나오는 것이 알 수 있다. 이런 식으로 github의 코드를 나의 local 환경으로 cloning 하는 방법을 알아보았다. 지속적으로 업데이트를 하고 수정, 보완할 때 빠질 수 없는 기능이다.


2월 15, 2024

Github에서 repository 삭제하는 법

가끔 github의 repository를 생성하고 잘못 만들어 이를 삭제해야 하는 경우가 있을 텐데요, 이렇게 오늘은 Github에서 만들어진 repository를 삭제하는 법에 대해서 알아보도록 하겠습니다. 

 

먼저 자신이 삭제할 repository를 클릭해줍니다. 

그러면 아래와 같은 화면이 보일텐데요,

 


여기서 오른쪽 상단에 있는 Settings에 들어가도록 합시다! 

 



Settings에 들어가서 스크롤을 쭉 아래로 내려줍니다!

그러면 아래와 같이 Danger Zone이라고 표시된 부분을 볼 수 있어요.

 

Settings Danger Zone

여기서 가장 아래쪽에 있는 'Delete this repository'를 클릭해주시면 됩니다.

 

클릭을 하면 아래와 같은 경고창이 뜰텐데요, 이는 삭제를 정말 하겠냐라고 묻는 경고창이라고 보면 됩니다.

 

Github 삭제 경고창

여기서 삭제하려는 repository의 정식 이름은 나의 github id/Repository이름 이에요! 그래서 경고창에도 그런 식으로 나와있는 것을 알 수 있을텐데요,

 

여기서 화면에 표시된 'Github id/Repository이름'을 그대로 타이핑해준 뒤에 

 

아래 있는 'I understand the consequences, delete this repository' 버튼을 누르면 삭제가 됩니다. 


2월 11, 2024

[GIT] commit으로 issue 자동 close 하는 방법, issue close keywords

 Github에서 작업을 할 때 issue를 먼저 만들고 Pull Request 등의 작업을 통해서 issue를 close하는 경우가 많다. 

(참고로 Github issue에 관련해서는 첫 번째 포스팅에서 다루었으니 아래 링크를 참고하도록 하자. https://www.programmingstory.com/2023/08/github-issue-issue.html


오늘은 Github Commit을 통해 자동으로 issue를 close 하는 방법을 알아보도록 하겠다. 


우리가 Issue #3을 생성했고 위와 같이 Pull Request에 This close #3이라고 적으면 해당 Pull Request가 merge 될 때 Issue #3도 함께 close가 된다. 즉 issue와 Pull Request를 함께 묶을 수 있어 편리한 기능이다. 



Pull Request를 하면 위와 같이 close 아래 미세한 선이 보이는 것을 알 수 있고 #3에도 하이퍼링크가 생기는 것을 볼 수 있다. close 아래 마우스를 대 보면 


위와 같이 "This pull request closes issue #3" 라는 설명을 볼 수 있다. 

Pull Request가 생성되고 아래 "Confirm Merge" 까지 되어야 비로소 우리가 생성해주었던 issue 가 닫히는 것을 알 수 있다. 


close 이외에도 아래와 같은 키워드를 사용할 수 있다. 


close

- closes

- closed

- fix

- fixes

- fixed

- resolve

- resolves

- resolved


때로는 하나의 commit으로 여러 개의 issue를 close 할 필요도 있는데 나열 식으로 여러 개를 적어도 issue를 close 하는데 문제가 없다.


git commit -m "closed #30, #31, #33" 


이런 식으로 적어도 된다는 뜻이다. 

또한 다른 repository에 있는 이슈도 권한만 있다면 close 할 수 있다. 

git commit -m "close issue #40 and [repository_path]#2" 


이런 식으로 다른 repository path 이름 뒤에 issue number를 붙이면 가능하다. 


이런 github의 키워드를 사용하여 pull request와 issue를 match 하고 자동 close할 수 있는 기능을 적극 이용해보자. 


2월 08, 2024

[Github] Projects 사용하는 방법, Convert to Issue, Workflow 사용법

 오늘은 Github에서 Projects 를 사용하는 방법에 대해서 알아보도록 하겠다. 


1. Github Projects란?

작업의 진행 정도를 한 눈에 볼 수 있고 각 Task 별로 진행 상황을 관리할 수 있는 Github의 메뉴이다. 



2. New Project 생성 방법


Projects 로 들어가서 New Project를 선택해주고 이를 클릭한다. 



그러면 위와 같이 Create Project라는 이름으로 다양한 템플릿이 제공되는 것을 알 수 있다. 


왼쪽의 Board를 눌러주고 Board 형태로 Project를 생성해주도록 하겠다. 


원하는 Project의 이름을 적어주고 우측 하단의 "Create Project"를 클릭해준다. 



그러면 위와 같이 Todo, InProgress, Done과 같이 각 project의 phase 별로 관리해야 하는 단계들이 나오고 각 단계별로 Add Item을 눌러 해야 할 일들을 추가해줄 수 있다. 


이는 Kanban 스타일은 예전에는 각 단계별로 포스트잇을 붙여놓고 포스트잇을 단계별로 이동시키면서 프로젝트의 상황을 관리하곤 했다고 한다. 이제는 이것을 온라인 Github에서도 구현을 한 것이다. 


3. Task 생성, Convert to Issue 




Add Item을 추가하여 더 세분화하여 관리할 수 있다. Drag and drop으로 해당 작업이 완료되면 다음 단계로 옮겨줄 수 있다. 


각 일들은 Convert to Issue를 하여 Github의 Repository에 있는 Issue들로 옮길 수도 있다. 

Issue로 Convert가 되었으면 해당 건을 클릭하여 Issue에 추가적인 정보를 지정해줄 수 있다.


이런 식으로 Labels, Assignees를 설정하고 추가적으로 Milestone도 생성하여 설정해줄 수 있다. 


4. Workflow를 사용하여 Task 자동화

추가적으로 Workflow를 사용하여 Drag and drop 없이 자동화를 해줄 수도 있다. 


Workflow는 우측 상단에서 클릭 할 수 있고 



이런 식으로 Item이 closed 되면 Status가 어떻게 변경되고, 이런 작업이 자동으로 되길 원하면 Workflow에서 Setting해 줄 수 있다. 


Github Projects를 사용하여 프로젝트를 효율적으로 관리해보자.


2월 08, 2024

GitKraken 툴 소개, GitKraken에서 branch 이름 변경하는 방법, push pull 방법

1. GitKraken이란? 

기존 개발자들이 하던 GIT 작업을 생각해보면 대체로 CLI 기반에서 이루어졌다. PUSH, PULL 등의 명령어를 사용하여 command line 에서 작업을 했다. 깃크라켄 (GitKraken)은 이러한 GIT 작업들을 사람에게 익숙한 그래픽과 버튼들로 보여주는 graphic 기반의 GUI 툴이라고 할 수 있다. 더 직관적으로 git의 flow를 살펴볼 수 있을 뿐 아니라 merge conflict도 시각적으로 더 쉽게 해결할 수 있다는 장점이 있다. 


2. GitKraken 다운로드

깃크라켄은 

https://www.gitkraken.com/

위 링크에서 다운 받을 수 있다. 



3. GitKraken branch 이름 변경 방법


다운을 받고 repository까지 생성해주면 



위와 같은 repository를 볼 수 있을 것이다. 


여기서 가장 먼저 commit이 되는 것이 기본적으로 master branch에 되는데, github에서는 이를 main으로 쓰자는 움직임이 있었기 때문에 기본이 main이다. (master slave라는 부정적인 어감 때문에 main으로 변경하자는 아젠다에 따라 변경되었다고 한다) 


하지만 GitKraken 상에서는 아직 master가 default이기 때문에 이를 github와 맞추어 main으로 변경해주고자 한다. 


그러기 위해서는 

master 브랜치 있는 곳을 우클릭 한 뒤 



Rename master를 클릭해주면 된다. 


그런 다음에 Rename 'master' to 옆에 변경하려는 branch 이름을 적고 Submit을 누르면 끝이다. 

그러면 아래와 같이

우리가 원하는 main 으로 브랜치 명이 변경된 것을 알 수 있다. 


4. GitKraken에서 github으로 push, pull 방법




Github clone 등을 통해 이미 git과 연동이 되었다면 GitKraken 상에서 아주 쉽게 Push, Pull이 가능하다. 

바로 위에 있는 PULL, PUSH 버튼만 사용하면 바로 작업이 가능하다. 

PUSH를 하고 github를 확인해보면 Initial commit된 내용이 Github에서도 확인할 수 있을 것이다. 

8월 30, 2023

Github Issue란? 협업 시 활용법 & Issue 작성법

협업을 위해 자주 사용하는 Github, 그 중에서도 유용하게 소통을 위해 사용할 수 있는 Github Issue 기능에 대해 알아보자. 

 

Github issue는 여러 가지로 활용될 수 있는데 말 그대로 해당 repo에 대한 issue를 보고할 수도 있고, 나의 경우에는 개발 협업 프로젝트를 진행할 때 bug를 report하거나 현재 나의 진행경과를 팀원들에게 알려주거나, 해야 할 개발 사항을 보고하는 데 유용하게 사용했다. 



Github Issue에 들어가면 위와 같이 Code, Issues, Pull Requests, Actions, Projects, Wiki, Security, Insights, Settings와 같은 Tab을 볼 수 있다. 내가 현재 들어간 repository에는 open issues가 존재해서 Issues 옆에 2라는 숫자가 보이는데, 처음 만든 repository의 경우 아무것도 보이지 않을 것이다.

 

우선 새로운 Issue부터 만들어주자.


위와 같은 부분에서 오른쪽의 New issue 버튼을 클릭해주면 새로운 issue를 생성해줄 수 있다. 



우선 Title 부분에서는 말 그대로 Issue의 Title이다. 아래 Leave a comment 부분에는 더 자세하게 issue의 내용을 작성할 수 있다. 

 

Issue를 잘 작성하는 사람들은 오른쪽 메뉴 부분을 유용하게 사용한다.


Assignees 부분에는 해당 내용을 개발해야 하는 사람들, 즉 해당 issue에 할당된 사람을 클릭해준다. 특정 기능을 개발할 때에는 여러 명이 동시에 assign 되는 경우가 있는데 그럴 경우 한 눈에 누가 assign 되었는지 보기 편하다. 꼭 여러명이 assign 되지 않아도 나는 팀원들에게 '내가 이 기능 개발할게' 라는 것을 알릴 목적으로 나 스스로를 assginee로 지정하기도 했었다.



설정과 비슷한 아이콘을 클릭하면 위와 같이 'Assign up to 10 people to this issue'라고 나오게 되고 아래 추천 ID가 나온다. 해당 ID를 클릭해도 되고 직접 검색해서 추가해도 된다. 



다음으로 Labels 부분을 누르면 해당 Issue를 어떤 용도로 활용할 것인지를 클릭하는 것이다. bug의 경우 '내가 이거 써봤는데 ~한 bug 발견했어! 고쳐줘!' 라는 느낌으로 사용할 수 있다. 내가 협업 프로젝트를 하면서 잘 사용했던 enhancement label은 새로운 기능이나 요청사항을 제안하는 느낌으로 사용할 수 있다. 새로운 기능을 개발해야 하면 우리 이거 개발해야 되고 assignee는 ~야 라고 알려주는 식이다. 

 

또한 자신이 어떠한 기능을 개발하고 있는데 어려움에 마주하면 'help wanted'라는 label로 다른 멤버에게 도움을 요청할 수도 있다. 

 

그리고 Labels는 원하면 새로 만들 수도 있고 수정도 가능하다. 'Edit labels'를 눌러 수정이 가능하니 원하는 새로운 label이 있다면 새롭게 추가하자. 나는 'refactoring' label을 새롭게 만들어서 사용한 적이 있다. 


아래 Projects와 Milestone의 경우에는 해당 Issue가 어디에 해당되는 것인지를 나타내주는 칸이라고 생각하면 된다. 나의 경우에는 프로젝트 deadline 전까지 여러 milestone을 생성하고 to-do list 느낌으로 사용하기도 했다. 

 

물론 아무것도 클릭하지 않고 title만 작성해도 issue submit이 가능해진다. 

 

작성을 하고 'Submit new issue'를 누르게 되면 issue 작성이 완료된 것이다. 만약 issue를 작성했는데 오른쪽 label을 작성하는 것을 까먹었다? 해도 걱정할 필요가 없다. 작성된 issue를 누르고 이후 label을 추가해도 된다. 

 

특히 협업 프로젝트를 할 때 issue 작성의 중요성은 여러 번 강조해도 지나치다. 팀원들과 남아있는 task가 무엇인지 remind하기도 좋으며, bug가 있거나 도움을 요청할 수도 있기 때문이다.

 

issue를 submit 했다면 해당 issue는 open issue로 올라가게 된다. 예를 들어 내가 '배포 직전 해야 할 것' 이라는 title로 issue를 올렸다고 가정해보자. 



해당 issue를 클릭해 들어가 보면 위와 같이 Leave a comment라고 되어 있는 부분이 있을 것이다. 다른 사람의 issue에 comment를 추가할 수도 있고, 만약 해당 issue가 해결되었다면 'Close issue'를 눌러 issue를 닫을 수도 있다. 

 

그러면 closed 된 issue는 어디서 볼 수 있는가?

 

다시 issue tab으로 들어가보면



이렇게 open 된 issue들의 개수와 closed 된 issue들의 개수를 볼 수 있다. closed 부분을 클릭하면 닫혀진 issue들도 모두 확인할 수 있다. 

 

아주 가끔 실수로 issue를 close하기도 하는데, 그런 경우에 다시 open issue로 만들고 싶다면 어떻게 할까? 간단하다. 해당 issue를 다시 클릭해서 들어가면,



아까 봤던 것과 비슷한 이미지를 확인할 수 있는데 여기의 'reopen issue'를 누르면 된다. 단순히 실수로 issue를 닫았을 때 뿐만 아니라, 내가 해결했다고 생각했는데 다시 문제가 재발했거나 비슷한 새로운 문제를 찾았을 때도 사용할 수 있다. 

 

이런 식으로 Github issue는 단순해보이지만 다양한 기능을 가지고 있다. 이 Github issue를 잘 쓸수록 협업 프로젝트의 quality를 높일 수 있다고 생각한다. 모두 issue 사용법에 익숙해지고 불편하더라도 자주 활용할 수 있도록 노력하자!