본문 바로가기

DevOps/Git17

[Git] Git의 작업영역 3가지 1. working directory (작업 공간) 2. staging area (임시 저장 공간) 3. repository (저장소) 1. working directory (작업 공간) 프로젝트의 코드를 저장하는 위치, 즉 실제로 파일을 다루는 로컬 환경의 공간을 의미합니다. 이 working directory는 2가지 상태를 가집니다. 1-1. untracked : Add된 적 없는 파일, ignore 된 파일 1-2. tracked : Add된 적 있고 변경내역이 있는 파일 working directory에서 작업 후 git add . 를 동작하면 파일들이 올라가는 곳이 바로 staging area 입니다. 2. staging area 작업한 환경에서의 특정 변경사항만 모아서 버전을 만들고 싶을 때.. 2024. 1. 7.
[Git] Git, SVN 특징 및 차이점 Subversion(SVN) 2000년에 CVS를 대체하기 위해 만들어졌으며 현재까지 두루 쓰이는 형상관리 툴이다. 프로젝트 소스는 SVN 서버의 Trunk라는 곳에 위치, 자신의 Local에 Trunk의 소스를 다운받아 수정 후 추가하고 업로드(commit)하는 방식이다. 다른 개발자들과 떨어져 작업하기 위해 본인이 작업할 Branch를 만들어 작업 후 Merge를 통해 Trunk와 소스를 합치는 형태로 개발하게 된다. 특징 SVN은 보통 대부분의 기능을 완성해놓고 중앙 저장소에 commit한다. commit을 하게되면 중앙 저장소에 해당 기능을 공개하겠다는 의미이다. Git과의 가장 큰 차이점으로는 자신만의 version history를 가질 수 없다. commit한 내용에 실수가 있을 경우 다른 개.. 2024. 1. 7.
[Git] 삭제, 복구 / clean, restore, reset의 reset 삭제 git clean git에서 추적하지 않는 파일들 삭제 새로 생성한 파일들만 삭제 옵션 설명 -n 삭제될 파일 보여주기 -i 인터렉티브 모드 시작 (원하는 것만 삭제) -d 폴더 포함 -f 강제 삭제 -x .gitignore에 등록된 파일도 삭제 복구 git restore 특정 파일을 지정된 상태로 복구 git restore --staged 파일명 stage -> walking walking -> 작업하기 이전(아무것도없는상태) git store --source=해시 or HEAD 파일이름 git store --source=HEAD^ test.txt 특정 시점의 파일 내용으로의 변화 reset의 reset git reflog 위를 입력하면 지금까지 작업했던 커멘드 내역들을 알려줌 이 커멘트 내역들은.. 2022. 10. 25.
[Git] 오래된 commit 내역 수정,변경 git rebase -i 이전해시 가장 최근의 commit 내용,메시지 만을 수정할 수 있는 git commit --amend와는 다르게 오래된 commit을 수정할 수 있다. 주의사항 최소한 수정하고자 하는 커밋 내용 바로 뒤를 커밋해시로 전달해야 한다. 만약 10 9 8 7 6 5 4 3 2 1이 커밋되어 있다 치자 3을 수정하고 싶으면 git rebase -i 2를 해야한다. 명령어 명령어 설명 p pick 커밋 그대로 두기 r reword 커밋 메시지 변경 e edit 수정을 위해 정지 d drop 커밋 삭제 s squash 이전 커밋에 합치기 git rebase -i 이전해시 입력하면 저렇게 뜬다. 기본은 pick이고 원하는 변경의 명령어를 아래와 같이 직접 입력한 뒤 저장하면 된다. squas.. 2022. 10. 24.
[Git] 최신(가장 최근의) commit 내용,메시지 수정하기 git commit --amend 최신내용의 commit, 가장 최근의 커밋 내용,메시지 수정 가능 작업 하나를 빠뜨리고 커밋한 경우, 하나 더 커밋을 하기 애매한 경우 사용함 변경내역 추가해서 최신 commit 내용,메시지 수정하기 변경사항을 git add로 staging area로 올린 다음 git commit --amend 를 수행하면 변경내역 추가하여 이전 commit 내용,메시지 수정 가능 git commit -a --amend -m '메시지' 위의 커멘드를 사용하면 변경내역을 add 하지않고도 내역 변경 가능 거기다 메시지까지 바로 변경 가능 2022. 10. 24.
[Git] stash stash 작업하다가 다른 처리를 위해 브랜치를 옮겨야 하는 상황 등에 사용한다. stash는 작업하는 내용을 잠시 다른 곳에 치워둘 수 있는 기능이다. stash를 사용하려면 tracking이 가능한 상태여야 한다. 따라서 새로만든 파일을 작업 중이라면 git add로 staging area로 보내야 stash로 처리 가능 git stash stash에 메시지 포함해 저장하기 git stash -m '메시지' stash 목록 확인 git stash list stash 내역의 내용 가져오기 git stash apply stash이름 stash 내역 제거하기 git stash drop stash이름 stash 내용 가져오면서 저장된 stash 내역 제거하기 git stash pop 2022. 10. 24.