반응형

데브옵스(DevOps) 20

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

[Linux] 리눅스의 사용자 권한과 chmod 명령어

리눅스의 사용자 권한 확인하기 리눅스의 파일과 디렉토리는 사용권한이 존재한다. 사용 권한에 대해 알아보기 위해 다음 명령어로 디렉토리와 파일을 생성한다. mkdir hello nano hello.java 파일과 디렉토리를 생성한 뒤, ls -l 명령어를 통해 목록을 살펴보면 다음과 같은 정보를 얻을 수 있다. hello 디렉토리는 drwxrwxr-x hello.java 파일은 -rw-rw-r-- 이를 해석하면, 첫 글자 d와 -에서 d : 디렉토리(directory)를 뜻한다. : 디렉토리가 아닌(not directory) 것을 뜻한다. 이어지는 r, w, x는 읽기 권한(read permission), 쓰기 권한(wirte permission), 실행 권한(execute permission)을 나타낸다..

[Linux] 리눅스의 apt 명령어 정리 (리눅스 패키지와 패키지 매니저)

패키지와 패키지 매니저 리눅스 운영체제에서는 패키지와 패키지 매니저를 지원한다. 리눅스 패키지는 여러 파일을 모아 하나의 파일로 저장하고 있는 압축파일이다. 각 패키지 안에 들어 있는 파일들의 구성은 다음과 같다. 프로그램 파일 프로그램 설치 파일 프로그램 설치 설명서 프로그램에 대한 정보를 담은 파일 패키지 안에는 하나의 프로그램이 정상적으로 설치되고 동작하기 위한 모든 파일들이 압축되어 있으며, 프로그램에 대한 정보도 담겨 있다. 따라서, A라는 프로그램을 설치하기 위해 B라는 프로그램이 필요하다는 가정을 하고, B라는 패키지가 설치되지 않은 상태에서 A라는 프로그램을 설치한다면, 패키지에 포함된 정보를 통해 프로그램 B를 먼저 설치하고 나서 프로그램 A를 설치한다. 패키지 매니저는 패키지의 설치, ..

[Linux] 리눅스의 텍스트 에디터 nano

텍스트 에디터 nano CLI 환경에서 일반적으로 자주 쓰이는 텍스트 에디터는 vim(vi), emacs, nano 등이 있다. vim과 emacs 에디터는 다양한 기능을 제공하는 반면, 사용을 위해 따로 학습을 해야 할 정도로 진입장벽이 높다. 따라서, CLI 사용에 익숙하지 않은 사람들의 경우 nano 에디터 사용을 추천한다. VS Code와 같은 에디터를 사용하지 않고 터미널에서 에디터를 사용하는 이유는 AWS와 같은 원격 서버 환경에서 원격으로 텍스트 파일을 편집해야 하는 경우가 있기 때문이다. 따라서 개발 분야에서 CLI는 여전히 유용하게 사용되고 앞으로도 계속 사용될 것이기에 터미널 내의 에디터를 반드시 숙지해야 한다. nano 실행 터미널 창에서 nano 명령어를 통해 실행할 수 있다. na..

[Linux] 리눅스의 관리자 권한과 절대 경로 및 상대 경로

관리자와 사용자 컴퓨터의 운영체제(Window, Mac, Linux 등)에는 사용자와 관리자가 따로 구분되어 있다. 사용자는 일반적으로 PC를 켜서 바탕화면에 진입하기 전에 로그인하는 계정이다. 프로그램을 설치하거나 업데이트할 때 이를 승인 또는 인증 절차를 거치도록 하는 경험을 한 적이 있을 것이다. 이 뿐만 아니라 프로그램을 변경, 삭제할 때도 관리자의 권한을 필요로 하기도 한다. 관리자와 사용자를 따로 구분하는 이유는, 다른 사용자의 해킹 또는 악성코드로부터 방지하기 위함이다. 관리자 권한으로 실행되는 PC에서는 악성코드가 삽입된 프로그램이 유입될 가능성이 높기 때문이다. 따라서, 리눅스 기반의 여러 운영체제에서도 관리자와 사용자를 구분하고 있다. 같은 리눅스 기반으로 개발된 운영체제에서도 다양한 ..

[Linux] 리눅스 CLI 기본 개념과 명령어 정리

CLI(Command-Line Interface) CLI는 가상 터미널 또는 터미널을 통해 사용자와 컴퓨터가 상호 작용을 하는 방식을 뜻한다. 리눅스의 터미널은 키보드의 입력과 모니터의 출력으로 모든 작업을 할 수 있다. 리눅스는 GUI가 개발되기 이전부터 컴퓨터를 조작하기 위해 사용된 프로그램으로 GUI가 할 수 있는 모든 작업을 CLI로 할 수 있다. 프롬프트(Prompt) 터미널 창에서 키보드의 입력을 확인하고 편집할 수 있는 한 줄의 공간을 뜻한다. 프롬프트를 통해 키보드로 입력하여 사용한다. CLI 기본 명령어 pwd : 현재 위치 확인 pwd는 터미널이 현재 위치를 알려주는 명령어로 현재 작업 중인 디렉토리의 절대 경로를 출력한다. pwd 디렉토리(Directory) : 컴퓨터에서 파일을 분류..

반응형