Git 34

[Git] switch - 브랜치 전환

checkout 기능 분리 공식 문서는 git checkout의 기능을 다음과 같이 정의하고 있다. git checkout : Switch branches or restore working tree files 즉, 두 개 이상의 기능을 가지고 있는데 2.23 버전에서 기능 각각이 switch, restore 명령어로 분리되었다. git switch : Switch branches git restore : Restore working tree files 이 글에서는 switch 명령어에 대해 정리한다. switch switch 명령어는 checkout의 기능 중 브랜치를 변경하는 부분만을 담당한다. 명령어만 달라지고 사용 방법은 동일하다. git switch # 예시 git switch b20220802 ..

Git | GitLab 2022.08.17

[Git] checkout - 파일 수정 삭제

git checkout Switch branches or restore working tree files branch를 전환하거나 파일 내용을 되돌리는 기능을 한다. 즉. reset과 비슷하게 동작할 수 있다. branch 전환에 대해서는 2022.08.13 - [Git] branch 생성/삭제에서 다뤘으므로, 이 글에서는 되돌리는 방법을 정리해둔다. 특정 파일 작업 내용 삭제 추적되고 있는 파일이어야 하며, add / commit 되지 않은 코드를 삭제한다. git checkout -- diff로 확인할 수 있었던 수정사항이 삭제된 것을 확인할 수 있다. 파일에도 실제 작업한 내용이 삭제되어 있다. 모든 변경 사항 취소 경로 내 모든 변경 사항을 취소한다. 추적되고 있는 파일이어야 하며, add / c..

Git | GitLab 2022.08.14

[Git] branch 생성/삭제

branch 여러 사람이 동일한 소스 코드를 공유하여 다룰 때 같은 소스 코드를 기반으로 서로 다른 작업을 하기 위한 기능. 독립적인 저장소 내에서 작업을 진행할 수 있다. 즉, 다른 브랜치에 영향을 받지 않기 때문에 한 개발자가 기능을 추가하는 동시에 다른 개발자가 버그를 수정할 수 있다. 저장소를 처음 생성하면 기본적으로 master 또는 main이라는 이름의 저장소가 생성된다. 이 글의 내용 일부는 2022.07.07 - [Git] 원격 브랜치 가져오기와 중복된다. branch 목록 확인 git branch # -r : --remotes. 원격지 브랜치 목록을 보여준다. # -a : --all. 원격지 브랜치 목록과 로컬 브랜치 목록을 모두 보여준다. # -vv : 트래킹 브랜치 설정을 보여준다. ..

Git | GitLab 2022.08.13

[Git] 원격 브랜치 가져오기

원격 브랜치 가져오기 Git을 사용하다 보면 지금 사용하고 있는 브랜치가 아니라, 원격 저장소에는 존재하는 브랜치에서 작업해야 할 때가 있다. git pull이나 clone을 새로 해봐야 원격 저장소의 브랜치가 내려받아지지는 않으므로 아래와 같은 절차를 통해 원격 브랜치를 로컬로 가져와야 한다. 테스트 환경 원격 저장소에는 main 브랜치와 b20220627이라는 브랜치가 존재한다. 로컬 저장소에는 main 브랜치만 존재하는 상태이다. 이 상태에서 b20220627 브랜치를 로컬 저장소로 가져와서 작업하고자 한다. 로컬 저장소의 원격 브랜치 목록 확인 git branch # -r : --remotes. 원격지 브랜치 목록을 보여준다. # -a : --all. 원격지 브랜치 목록과 로컬 브랜치 목록을 모두..

Git | GitLab 2022.07.07

[Git] git config 설정 확인/초기화

git config 2021.08.14 - git 사용자 설정에서는 git 사용 환경, 그중에서도 사용자 설정하는 방법에 대해 정리해두었다. 이 글에서는 설정을 수정하기 위해 초기화하는 방법을 정리해둔다. git config 설정 확인 현재 설정은 --list 옵션 또는 --get 옵션을 통해서 확인할 수 있다. 로컬 저장소마다 설정이 다를 수 있으므로, 확인할 로컬 저장소로 이동하여 확인하는 것이 좋다. 모든 설정 확인 --list 옵션을 이용해 모든 설정을 확인한다. git config -l # -l : --list. 모든 설정 확인 특정 설정 확인 --get 옵션을 이용해 특정 설정값을 확인한다. --get은 생략할 수 있다. git config -get # 또는 git config 설정 초기화 -..

Git | GitLab 2022.06.26

[Git] remote update

먼저 자주 사용하는 git fetch 명령어부터 간단히 정리한다. git fetch git fetch # --all : 모든 원격 브랜치 업데이트 원격 저장소의 최신 이력을 확인하는 명령어 가져온 최신 커밋 이력은 이름 없는 브렌치로 로컬에 가져오며, FETCH_HEAD라는 이름으로 checkout할 수 있다. fetch로 확인한 최신 이력을 로컬 저장소로 병합할 때는 pull 또는 merge를 실행한다. 옵션 없이 사용하면 로컬 저장소에 존재하는 브랜치에 대해서만 업데이트한다. 모든 원격 브랜치 이력을 업데이트하고 싶다면 --all 옵션을 사용한다. git remote update 원격 저장소의 최신 이력을 확인하는 명령어 git remote update 원격 저장소의 모든 브랜치에 대한 이력을 확인한..

Git | GitLab 2022.05.25

[Git] 로컬 브랜치와 다른 원격 브랜치로 Push하기

다른 branch에 반영해야 하는 수정사항을 master 브랜치에서 작업해버렸다. 저장소 관리 정책 상 master 브랜치에는 직접 push 할 수가 없어 곤란한 상황에서는 어떻게 해결하면 좋을까? 작업해야 하는 branch로 이동해서 다 다시 수정해야 할까? 기본적으로 로컬 저장소와 원격 저장소의 브랜치 이름이 같으면 아래와 같은 명령어로 push할 수 있다. git push # 예시 git push origin master 하지만 push 명령은 push할 브랜치와 업데이트할 브랜치를 지정할 수도 있다. git push : # 예시 git push origin master:passwd src는 push할 브랜치의 이름이다. SHA-1 식도 지정할 수 있는 것을 보면, 특정 커밋만을 push할 수도 있..

Git | GitLab 2022.04.05

[Git] git init 취소

git init cd /YOUR/PROJECT/PATH git init 버전 관리를 하지 않는 프로젝트를 Git으로 관리하기 위해 기존 디렉터리를 Git 저장소로 만든다. 명령을 실행하면 디렉터리에 .git이라는 하위 디렉터리를 생성하며, 이 디렉터리는 데이터를 저장하고 관리하는 데 사용된다. 이 디렉터리를 복사하면 저장소를 백업하는 것이다. git init 취소 git init을 취소하고자 할 때에는, git init 명령을 통해 생성된 .git 디렉터리 자체를 삭제하면 된다. cd /YOUR/PROJECT/PATH rm -r .git 참고 문서 https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EA%B8%B0%EC%B4%88-Git-%EC%A0%80%EC%9E%A5%EC..

Git | GitLab 2022.01.17

git reset - commit 취소

2021.08.30 - git reset - add 취소 이전 글에 git reset에 대한 내용을 조금 정리해두었기 때문에 참고하면 좋다. 아마도. commit 이력 확인 git log commit 취소 git reset --soft HEAD # 최신 커밋 취소 git reset --soft HEAD^ git reset --soft HEAD~ # ^ : 커밋의 부모 # ^^ : 커밋 부모의 부모 # 마지막 n개 커밋 취소 git reset --soft HEAD~n # ~ : 여러 개의 ^와 같음 (~3 == ^^^). 수를 지정하지 않으면 ^와 같다. commit 취소란? HEAD, Index, Working Directory 개념을 생각해보면, -> Index와 Working Directory는 변경..

Git | GitLab 2021.09.01

git reset - add 취소

실수로 github 레포지터리에 푸시하지 않아도 되는 파일을 add 했다. 현재 stage 상태인 파일을 unstage 상태로 변경하려고 한다. 두괄식으로 결론만 먼저 적으면, add 취소할 파일을 지정하여 git reset 명령을 실행하면 된다. 아래 명령어는 모두 동일한 명령어다. git reset git reset --mixed git reset --mixed HEAD # 위와 동일한 명령어 # 예시 git reset README.md 기본 개념 HEAD 현재 브랜치를 가리키는 포인터 브랜치는 브랜치에 담긴 커밋 중 가장 마지막 커밋을 가리킨다. HEAD가 가리키는 커밋은 다음 커밋의 부모가 된다. Index Staging Area. 다음에 커밋할 것들. git commit 명령 실행 시 git이 ..

Git | GitLab 2021.08.30
1 2 3 4