MLOps 부트캠프 by 한경+토스뱅크/Git 13

Git 활용하기(git reflog, --all, --graph, git merge vs git rebase)

git reflog: HEAD가 가리켰던 commit들의 id 확인하기, 헤드가 이때까지 가리켜왔던 커밋들을 기록한 정보(reference log의 줄임말)git log --pretty=oneline --all: 모든 브랜치의 log 기록 출력--graph: 커밋 히스토리가 각 브랜치와의 관계가 잘 드러나도록 그래프 형식으로 출력git log --pretty=oneline --all --graphgit rebase: 베이스를 다시 지정하다. 커밋을 재배치한다. -> 프리미엄 브랜치의 베이스를 테스트 브랜치로 재지정git rebase --continue: 컨플릭트가 발생해서 제대로 진행되지 못한 리베이스를 계속 진행하라.

.gitignore - 조금 더 깔끔한 버전 관리가 필요하다면?

.gitignore 파일이란?: Git으로 프로젝트의 버전 관리를 시작할 때, .gitignore 파일에는 'working directory 안에 존재하기는 하지만 Git으로 버전을 관리하고 싶지 않은 것들'의 이름을 적어 활용할 수 있다. Add .gitignore: None 은 .gitignore파일을 생성하지 않겠다는 의미이다.  .gitignore 파일은그 플랫폼에서 실행될 프로그램을 만들거나,해당 프로그래밍 언어로 코드를 작성할 때(보통 자동으로) 생성되는 파일들중에서 굳이 Git에 의해 버전 관리될 필요가 없는, 불필요한 파일들의 이름이 정리된 .gitignore 파일을 자동으로 생성해준다.단어의미*.py[cod] .pyc 또는 .pyo 또는 pyd로 끝나는 파일명*$py.class $py...

git stash - 작업 내용 임시 저장하기

git stash*stash: 안전한 곳에 보관하다, 넣어두다git stach 실행 시, 최근 커밋 이후로 작업했던 내용은 모두 stack(어떤 데이터를 저장하는 구조) 에 옮겨지고, working directory 내부는 다시 최근 커밋의 상태로 초기화된다. git stash # 현재 directory 작업 내용을 stack에 저장(=작업 내용 저장)git stash list # stack에 저장된 내용을 확인(=작업 내용 조회)git stash apply [작업 내용의 아이디] # stack에 있는 내용을 다시 working directory로 가져와서 적용(=작업 내용 적용)git stash drop [작업 내용의 아이디] # 해당 stash를 삭제(=작업 내용 제거), [작업 내용의 아이디]를 생..

Git 협업하기(feat. git fetch, git diff, git blame, git revert)

> git fetch: 로컬 레포지토리에서 현재 HEAD가 가리키는 브랜치의 업스트림(upstream) 브랜치로부터 최신 커밋들을 가져옴(*git pull과 다름!)*git pull = git fetch + git merge> git diff: 두 커밋 간의 차이 + 두 브랜치 간의 차이 확인> git pull 과 git fetch의 차이점은?> git blame [파일명]:  특정 파일의 내용 한줄한줄이 어떤 커밋에 의해 생긴 것인지 출력> git show [커밋 아이디]: 해당하는 커밋의 변경사항 확인> git revert [커밋 아이디]: 특정 커밋에서 이루어진 작업을 되돌리는(취소하는) 커밋을 새로 생성> git revert [되돌아갈 커밋 아이디]..[커밋 아이디]: 되돌아갈 커밋 아이디 다음부..

브랜치(branch) 개념부터 잘 사용하는 방법까지

branch 는 왜 사용할까?: Git에서 하나의 프로젝트는 여러 가지 버전으로 관리할 수 있다. 예를 들어 하나의 프로젝트를 '유/무료 버전, 배포/개발/테스트/긴급 버그 수정용 버전, 스마트폰/PC/TV 버전' 등 으로 나누어 관리할 수 있는데 이는 모두 Git에 branch 라는 개념이 있기 때문에 가능하다. git branch: 생성된 모든 브랜치 조회git branch [브랜치명]: 입력한 브랜치명으로 새로운 브랜치 생성git branch -d [브랜치명]: 해당 브랜치를 삭제git checkout [브랜치명]: 해당 브랜치로 이동git checkout -b [브랜치명]: 입력한 브랜치명으로 된 새로운 브랜치를 생성하여 해당 브랜치로 이동checkout: 다른 branch로 이동-b: branc..

Remote Repository의 브랜치에 대해 더 알아보자(feat.origin과 master)

아래 포스팅에서 했던 작업 중, 2024.07.15 - [Codeit/Git] - GitHub 시작하기(git push, git pull, git clone)GitHub에서 Math_Box라는 리모트 레포지토리(remote repository)를 만들고로컬 레포지토리(local repository)의 내용을 그 리모트 레포지토리에 보내기위해 아래와 같은 커맨드 2개를 실행한 적이 있다. 이때 아래의 두개 커맨드에 대해 알아보자. git remote add origin https://github.com/Marlangcow/Math_box.gitgit push -u origin master1. origin이란?git remote add origin [GitHub 상 프로젝트 주소]: [GitHub 상 프로젝..

git 정보 예쁘게 보이도록 세팅하기!

터미널을 켜보면 흑백 바탕에 하얀 텍스트밖에 보이지 않아서 터미널에 표시되는 사용자 정보, 현재 경로의 구분이 어렵다. 이런 구분을 조금 더 용이하게 하고자 사전 세팅을 해보도록 하자. 1. 아래 파일을 다운로드 받는다. - git-bash-for-mac.sh2. 터미널에서 echo $SHELL 입력한다. 만약 echo $SHELL 입력 시, /bin/zsh 로 출력된다면 쉘을 바꿔주어야 한다. *방법: chsh -s /bin/bash를 입력 -> 터미널 종료 -> 터미널 재실행3. 다운로드 받은 위치로 가서 'source git-bash-for-mac.sh' 실행한다. 이때, 터미널 창에 색이 입혀진다면 성공!4. 이제 'git-bash-for-mac.sh' 파일을 home 디렉토리(~)로 옮겨준다. ..

Git commit(커밋) 다루기

git log: 커밋 히스토리 보기(*최신순으로 나열)git log --pretty=oneline: --pretty 옵션을 사용하면, 커밋 히스토리를 바양한 방식으로 출력할 수 있음. --pretty 옵션에 oneliine이라는 값을 주면 커밋 하나당 한 줄씩 출력함.(*다른 값도 가능!)git config alias.[별명] [커맨드]: 길이가 긴 커맨드에 별명을 붙여서 이후로 별명으로 해당 커맨드를 실행할 수 있도록 설정예) git log --pretty=oneline을 git history라는 별명으로 aliasing하기git config alias.history 'log --pretty=oneline'git show [커밋아이디 4자리]: 특정 커밋의 상세 변경 내용 확인git commit 만 입..