반응형

데브옵스(DevOps)/Git & Github 10

[Git / Github] 깃과 깃허브의 병합 충돌 해결하기

병합 충돌 병합 충돌은 Remote Repository의 내용을 동료와 같은 부분을 변경한 내용이 존재해 자동으로 병합할 수 없을 때 발생한다. 여러 IDE에서는 이러한 충돌을 해결하기 위해 충돌이 발생한 부분을 나타내 준다. 따라서, 비교하면서 이를 적절히 수정해야 충돌을 해결할 수 있다. 충돌 파일 확인하기 다음 명령어를 통해 어떤 파일이 충돌하고 있는지 확인한다. git status 위 명령어를 사용하면, both modified에 충돌 중인 파일들을 알려준다. 다음 충돌이 발생할 파일을 IDE를 통해 열어본다. 대부분의 IDE에서는 충돌이 일어난 부분을 알려주기 때문에 파악이 가능하다. 충돌한 파일은 다음과 같은 형태로 나타날 것이다. > (Incoming Change) 이렇게 나타난 코드를 직접..

[Git / Github] 깃의 스테이징 영역과 상태 정리 (add, commit, push의 상태 대하여)

깃의 3가지 영역과 3가지 상태 깃에는 Untracked area, Tracked area, Staging area 3가지 영역이 존재한다. 이 중 Tracked area에는 Staged, Modified, Unmodified 3 가지 상태가 존재한다. 3가지 영역 Untracked area : Git이 관리하고 있지 않은 영역 Tracked area : Git의 관리를 받을 수 있는 영역 Staging area : Commit이 가능한 영역 3가지 상태 Unmodified : 기존에 Commit 했던 파일을 수정하지 않은 상태 modified : 기존에 Commit 했던 파일을 수정한 상태 Staged : Commit이 가능한 상태 Staged 상태가 되기 위해서는 git add 명령어를 사용해야 한다..

[Git / Github] 풀 리퀘스트 정리 (PR: Pull Request)

Pull Requst Pull Request는 사용자가 원격 저장소에 Push하여 새로운 사항이 적용됬을 경우, 다른 사용자에게 푸쉬된 상황을 알리는 것을 말한다. 이를 줄여서 PR이라고도 한다. 만약, 원격 저장소에 푸쉬했다면, Github에서 해당 리포지토리에 들어가면 상단에 Compare & pull request라는 버튼이 뜰 것이다. Compare & pull request 버튼을 클릭하면, Push한 내용은 간단하게 요약해서 알려줄 수 있는 입력칸이 등장한다. 메시지를 작성한 뒤 우측 하단의 Create pull request 버튼을 클릭함으로서 전송된다. pull request를 보내 놓으면 여러 동료들에게 리뷰를 받을 수 있고, 내가 올린 코드에 동료가 병합하여 진행할 수도 있다.

[Git / Github] 깃 배쉬와 깃허브 명령어 정리 (깃 배쉬 사용법)

Clone git clone 명령어는 복제할 리포지토리의 주소를 로컬 저장소에 복제해오는 작업이다. 리포지토리를 복사해 오기 위해서는 리포지토리의 주소를 알아야 한다. $ git clone 리포지토리 주소 리포지토리 주소는 http://계정/리포지토리이름.git 형태로 되어 있다. 예를 들어 깃허브 계정이 gildong이고, 복제할 리포지토리 이름이 git-bash라면, 다음과 같이 명령어를 입력하여 clone 한다. $ git clone Init git init 명령어는 내 컴퓨터에서 생성한 디렉토리(폴더)를 Git에 등록하여 관리할 수 있도록 하는 명령어이다. 즉, 기존 디렉토리(폴더)를 로컬 저장소로 사용할 수 있도록 하는 것이다. 깃허브의 원격 저장소와 연결시키거나 새로운 저장소를 초기화하는 데 ..

[Git / Github] 깃허브 클론 (clone) 하는 방법 (깃허브 리포지토리 로컬로 복사)

Clone Clone은 깃허브 Repository에 있는 파일을 내 로컬 컴퓨터로 복사해오는 작업이다. 리포지토리를 복사해 오기 위해서는 리포지토리의 주소를 알아야 한다. Clone 할 리포지토리를 깃허브에서 접속하면, 중앙에 Code 버튼을 클릭하여 깃허브 리포지토리 주소를 복사할 수 있다. 다음은 git bash에서 git clone 명령어를 통해 복제하는 데, git bash CLI가 작업하는 위치에 복사되기 때문에 저장할 장소 정한 뒤 clone을 하도록 하자. 저장할 폴더 위치에서 마우스 우클릭을 하여 Git Bash Here을 클릭하면 해당 위치에서 쉽게 Clone을 할 수 있다. Git Bash에서 저장할 공간을 정하고자 한다면, pwd 명령어를 통해 현재 위치를 확인하고, cd 명령어를 통..

[Git / Github] 포크 (Fork) 하는 방법 (오픈 소스 프로젝트 복제하기)

Fork란? 오픈 소스 프로젝트를 공부하거나 Contributors가 되고 싶을 때, 해당 원격 저장소(Remote Repository)를 자신의 원격 저장소로 복사할 수 있다. 이를 Fork라 한다. 깃허브의 경우 공개된 모든 자료가 오픈 소스로 다른 사람의 자료를 Fork 할 수 있다. 즉, fork는 다른 계정의 원격 저장소를 내 계정으로 가지고 올 때 사용한다. Fork 하는 방법을 알기 위해 웹 개발 프레임워크로 유명한 Spring boot의 오픈 소스 코드를 fork 해보겠다. 오픈 소스 프로젝트 Fork 하기 https://github.com/spring-projects/spring-boot GitHub - spring-projects/spring-boot: Spring Boot Spring..

[Git / Github] 깃허브 CLI 사용을 위한 인증 방법 (+ 설치 방법)

Github CLI 깃허브 CLI는 개발자의 불편 사항 및 의견을 반영하여 깃허브 내에서도 CLI(Command Line Interface)이다. Pull request, issues, Action 등의 터미널에서 수행하는 CLI 기능을 깃허브 내에서 수행할 수 있도록 하는 서비스이다. 자세한 내용은 링크 내 공식 문서에서 확인이 가능하다. https://docs.github.com/en/github-cli GitHub CLI - GitHub Docs GitHub CLI is an open source tool for using GitHub from your computer's command line. When you're working from the command line, you can use th..

[Git / Github] 깃과 깃허브 SSH 키 생성 및 등록

SSH (Secure SHell) SSH(Secure SHell)의 줄임말로, 보안이 강화된 shell 접속을 뜻한다. CLI 환경에서 다른 PC에 접속하거나 요청할 때 사용하며, 비대칭키를 이용해 사용자를 인증한다. 즉, 깃 관련 추가 인증 제도이다. SSH 키 생성 SSH 키는 비대칭키로 구성되며, 두 개의 키가 서로 대칭이 되지 않는 형태로 존재한다. 깃 배쉬(Git bash)를 열어 다음 명령어를 입력하여 SSH 키를 생성할 수 있다. 명령어 입력 후 Enter 입력을 요구하니 적절하게 Enter 키를 입력해야 한다. $ ssh-keygen ssh-keygen 명령어를 실행하면, SSH 키가 C:\Users\shp\.ssh 경로에 파일 2개가 생성된다. 각 파일은 id_rsa 와 id_rsa.pu..

[Git / Github] Git 설치 및 환경 설정 (로그인 정보 등록, Windows, MacOS, Linux)

깃 설치하기 윈도우 https://gitforwindows.org/ Git for Windows Git for Windows focuses on offering a lightweight, native set of tools that bring the full feature set of the Git SCM to Windows while providing appropriate user interfaces for experienced Git users and novices alike. Git BASH Git for Windows provides a BA gitforwindows.org 위 링크 접속 또는 구글에 git for windows를 검색하여 다운로드를 진행한다. 다운로드한 설치 파일을 실행하여 다음..

[Git / Github] 깃과 깃허브에 대한 정리 (버전 관리 시스템)

버전 관리 시스템(VCS: Version Control System) 프로그래밍하면서 정상 작동하던 코드가 수정을 거치면서 안된다거나, 이전에 작성했던 코드를 확인하고 싶은 경우가 있다. 또한, 여러 사람들과 함께 작업을 할 때, 누가 어떻게 수정을 했는지 서로 수정한 코드가 어떻게 다른지, 여러 사람들이 동시에 작성한 코드를 어떻게 병합해야 하는지 등 관리하는 것이 상당히 까다롭다. 이러한 경우를 대비하여 이전에 작성한 내용을 보존하여 위의 문제점을 해결해 주는 시스템이 버전 관리 시스템이다. 버전 관리 시스템은 소프트웨어 개발 및 유지 보수 과정에서 발생하는 여러 문제들을 관리해주는 것이다. 버전 관리를 해야 하는 이유 파일이 변경될 때마다 변경 이력을 저장할 수 있다. 이전 버전으로 돌아갈 수 있다..

반응형