DevOps 10일차 - git

문한성·2023년 3월 20일
0

부트캠프

목록 보기
13/123
post-thumbnail

git 실습

깃 환경설정

$ git config --global user.name "나의 사용자 이름"
$ git config --global user.email "내 이메일 주소"

에디터를 나노로 설정

$ git config --global core.editor nano

SSH등록

SSH 키 생성

ssh-keygen

cat ~/.ssh/id_rsa.pub

코드를 띄워 복사합니다.
git홈페이지의 setting에 -> SSH and GPG keys -> 나타난 화면에서 SSH Keys 옆의 초록색 버튼 New SSH Key 를 클릭합니다. -> 복사한 SSH키값을 넣고 저장한다

CLI 사용을 위한 인증 과정

GitHub CLI 설치

type -p curl >/dev/null || sudo apt install curl -y

명령어를 통해 로그인을 시도 화살표키를 이용해 항목들을 선택

gh auth login

? What accout do you want to log into? GitHub.com
? What is your preferred protocol for Git Operations? HTTPS
? Authenticate Git with your GitHub credentials? Yes
? How would you like to authenticate GitHub CLI? Login with a web browser

Git은 분산 버전 관리 시스템(DVCS)으로, 프로젝트의 소스 코드를 효과적으로 관리하고 협업을 가능하게 해줍니다. Git에서 사용되는 주요 명령어는 다음과 같습니다.

git init: 새로운 Git 저장소를 초기화합니다.

git clone: 기존 Git 저장소를 복제합니다.

  • -n 또는 --no-checkout: 저장소를 복제하지만 작업 트리를 체크아웃하지 않습니다.
  • -b 또는 --branch: 지정한 브랜치를 복제합니다.
  • -v 또는 --verbose: 상세한 출력을 제공합니다.
  • -q 또는 --quiet: 출력을 최소화합니다.
  • --depth: 지정한 수의 커밋만을 복제합니다.
  • --recurse-submodules: 서브모듈을 함께 복제합니다.
git clone https://github.com/openai/gpt-3.git

git add: 변경된 파일을 스테이징 영역에 추가합니다.

git commit: 스테이징 영역에 있는 파일을 커밋합니다.

  • -m "commit message" : 커밋 메시지를 지정합니다. 메시지는 변경 사항의 요약을 나타내야 하며, 50자 이내로 작성하는 것이 좋습니다.
  • -a : 변경된 모든 파일을 자동으로 스테이징합니다. 따로 git add 명령을 사용할 필요가 없습니다. 하지만 새로운 파일은 스테이징되지 않습니다.
  • -am : -a와 -m 옵션을 동시에 사용합니다.
  • -amend : 최근 커밋을 수정합니다. 이전 커밋의 메시지를 수정하거나, 변경 내용을 추가할 수 있습니다.
  • -p : 변경된 파일을 선택적으로 스테이징합니다. 변경 사항을 세부적으로 검토하고 싶을 때 유용합니다.
  • --author="author name " : 커밋 작성자를 변경합니다.
  • --no-verify : pre-commit 훅을 건너뜁니다. 보통 코드 스타일, 코드 검사 등을 위해 설정한 훅입니다.
git commit -m "커밋 메세지"

git push: 로컬 저장소의 커밋 내용을 원격 저장소로 업로드합니다.

git push 명령은 로컬 Git 저장소의 커밋을 원격 Git 저장소로 전송하는 명령입니다. 이 명령에는 다양한 옵션이 있습니다.
가장 일반적인 옵션은 다음과 같습니다

  • -u 또는 --set-upstream: 원격 저장소의 브랜치에 로컬 브랜치를 연결합니다.
  • -f 또는 --force: 강제로 푸시합니다. 이 옵션은 로컬 저장소의 커밋이 원격 저장소보다 이전인 경우 사용합니다. 이 옵션을 사용하면 원격 저장소의 히스토리가 변경될 수 있으므로 주의해야 합니다.
  • --all: 모든 브랜치를 푸시합니다.
  • --tags: 모든 태그를 푸시합니다.
    예를 들어, 다음과 같은 명령을 사용하여 origin 원격 저장소의 main 브랜치에 로컬 main 브랜치의 커밋을 푸시할 수 있습니다.
git push -u origin main
  • git pull: 원격 저장소에서 변경된 내용을 로컬 저장소로 가져옵니다.

  • git branch: 브랜치를 생성하거나, 브랜치 목록을 확인합니다.

    git remote: 로컬 리포지토리에서 관리하는 리모트 리포지토리를 조작하기 위한 명령어입니다.

  • git remote add : 새로운 리모트 리포지토리를 추가합니다.

  • git remote rm : 지정한 리모트 리포지토리를 삭제합니다.

  • git remote rename : 리모트 리포지토리의 이름을 변경합니다.

  • git remote show : 지정한 리모트 리포지토리에 대한 정보를 보여줍니다.

  • git remote -v 또는 git remote --verbose: 로컬 리포지토리와 연결된 모든 리모트 리포지토리의 이름과 URL을 보여줍니다.

git merge: 브랜치를 병합합니다.
git status: 파일 상태를 확인합니다.
git log: 커밋 로그를 확인합니다.
이외에도 Git에는 다양한 명령어가 있으며, 각 명령어의 자세한 사용법은 git [명령어] --help 명령어를 사용하면 확인할 수 있습니다.

profile
기록하고 공유하려고 노력하는 DevOps 엔지니어

0개의 댓글