반응형

Git 작업 되돌리기 완벽 가이드 🚀 | restore & reset 명령어 활용법

Git에서 실수로 파일을 수정했거나, 특정 커밋을 취소하고 싶을 때 어떻게 해야 할까요?
이번 가이드에서는 Git 작업을 되돌리는 다양한 방법을 설명하겠습니다! 🎯

 

 

안녕하세요, 여러분! 😊

Git을 사용하다 보면 코드를 실수로 변경하거나, 특정 버전으로 되돌려야 하는 경우가 있습니다.

 

"작업 트리에서 수정한 파일을 원래대로 되돌릴 수 있을까?"

"스테이징된 변경 사항을 취소하려면 어떻게 해야 할까?"

"최신 커밋을 되돌리거나 특정 커밋으로 이동하는 방법이 궁금해!"

 

이 글에서는 Git에서 변경 사항을 되돌리는 다양한 방법을 실전 예제와 함께 쉽게 설명하겠습니다.

이제 Git의 강력한 되돌리기 기능을 자유롭게 활용해 봅시다! 🚀

1. 작업 트리에서 수정한 파일 되돌리기 (git restore) 🔄

Git을 사용하다 보면 파일을 수정했지만, 아직 스테이징하거나 커밋하지 않은 상태에서 변경 사항을 원래대로 되돌리고 싶을 때가 있습니다.

이때 git restore 명령어를 사용하면 변경된 파일을 되돌릴 수 있습니다.

수정한 파일을 원래 상태로 되돌리는 방법

# 변경된 파일을 되돌리기
$ git restore filename.txt

# 모든 변경된 파일을 되돌리기
$ git restore .

 

위 명령어를 실행하면, 해당 파일이 마지막 커밋된 상태로 되돌아갑니다.

즉, git status에서 "Changes not staged for commit"에 표시된 파일이 원래 상태로 복구됩니다.

되돌리기 전에 확인해야 할 사항

  • git restore를 실행하면 되돌린 파일의 변경 내용이 삭제되므로 신중하게 사용해야 합니다.
  • 되돌리기 전에 git diff filename.txt 명령어로 변경 내용을 확인하는 것이 좋습니다.
  • 중요한 변경 사항이라면 git stash를 사용하여 임시 저장하는 것도 좋은 방법입니다.

 

이제 git restore 명령어를 사용하여 작업 트리에서 변경된 파일을 되돌리는 방법을 살펴보았습니다.

다음 섹션에서는 스테이징된 변경 사항을 되돌리는 방법을 알아보겠습니다! 🚀

 

 

2. 스테이징된 변경 사항 되돌리기 (git restore --staged) 🔄

파일을 git add로 스테이징했지만, 이 파일을 다시 스테이징 해제(Unstage)해야 하는 경우가 있습니다.

이때 git restore --staged 명령어를 사용하면 스테이징 상태를 취소할 수 있습니다.

스테이징된 파일을 되돌리는 방법

# 특정 파일의 스테이징 해제
$ git restore --staged filename.txt

# 모든 파일의 스테이징 해제
$ git restore --staged .

 

이 명령어를 실행하면 해당 파일이 Staged 상태에서 Unstaged 상태로 변경됩니다.

즉, 파일의 변경 사항은 유지되지만, 커밋되지 않도록 상태가 변경됩니다.

되돌리기 전에 확인해야 할 사항

  • git restore --staged를 실행하면 파일이 스테이징 해제되지만, 수정된 내용은 유지됩니다.
  • 만약 변경 사항까지 되돌리려면 git restore filename.txt를 함께 실행해야 합니다.
  • 여러 파일을 한 번에 되돌리고 싶다면 git restore --staged .을 사용하면 됩니다.

이제 git restore --staged 명령어를 사용하여 스테이징된 변경 사항을 되돌리는 방법을 익혔습니다.

다음 섹션에서는 최신 커밋을 되돌리는 방법을 알아보겠습니다! 🚀

 

 

3. 최신 커밋 되돌리기 (git reset HEAD^) 🔄

Git에서 가장 최근 커밋을 취소하고 싶다면 git reset 명령어를 사용할 수 있습니다.

이 명령어는 최근 커밋을 삭제하거나 특정 상태로 되돌리는 기능을 합니다.

최근 커밋을 되돌리는 방법

# 최신 커밋을 취소하고, 변경 사항을 스테이징 상태로 유지
$ git reset --soft HEAD^

# 최신 커밋을 취소하고, 변경 사항을 작업 트리로 이동 (스테이징 해제)
$ git reset --mixed HEAD^

# 최신 커밋을 취소하고, 모든 변경 사항을 삭제 (되돌릴 수 없음)
$ git reset --hard HEAD^

 

 

위 명령어를 실행하면 가장 최근 커밋이 취소되며, 사용한 옵션에 따라 변경 사항이 다르게 처리됩니다.

옵션별 차이점 비교

옵션 설명
--soft 커밋만 취소하고, 변경 사항을 그대로 스테이징 상태로 유지
--mixed 커밋을 취소하고, 변경 사항을 스테이징 해제
--hard 커밋을 취소하고, 변경 사항까지 완전히 삭제 (주의!)

되돌리기 전에 확인해야 할 사항

  • --hard 옵션을 사용할 경우 모든 변경 사항이 삭제되므로 신중하게 사용해야 합니다.
  • 실수로 변경 사항을 삭제했을 경우 git reflog 명령어를 사용하여 복구할 수 있습니다.

이제 git reset HEAD^ 명령어를 사용하여 최신 커밋을 되돌리는 방법을 익혔습니다.

다음 섹션에서는 특정 커밋으로 되돌리는 방법을 알아보겠습니다! 🚀

 

 

4. 특정 커밋으로 되돌리기 (git reset 해시) ⏪

Git에서 특정 시점의 커밋으로 되돌리고 싶다면, git reset 명령어와 해시값(SHA-1)을 사용하면 됩니다.

이 방법을 사용하면 원하는 특정 커밋 시점으로 이동할 수 있습니다.

특정 커밋으로 되돌리는 방법

# 특정 커밋으로 이동 (스테이징 상태 유지)
$ git reset --soft <커밋 해시>

# 특정 커밋으로 이동 (스테이징 해제)
$ git reset --mixed <커밋 해시>

# 특정 커밋으로 이동 (변경 사항 삭제, 신중히 사용!)
$ git reset --hard <커밋 해시>

 

 

먼저 git log --oneline 명령어를 실행하여 원하는 커밋의 해시를 확인한 후,

위 명령어를 실행하면 해당 커밋으로 이동할 수 있습니다.

되돌리기 전에 확인해야 할 사항

  • --hard 옵션을 사용하면 변경 사항이 완전히 삭제되므로 주의가 필요합니다.
  • 실수로 되돌린 경우 git reflog 명령어를 사용하여 복구할 수 있습니다.

 

🔚 마무리: Git 작업 되돌리기 완벽 정리 🚀

이제 Git에서 작업을 되돌리는 다양한 방법을 확실히 이해하셨나요?

Git은 강력한 버전 관리 시스템으로, 필요할 때 쉽게 되돌릴 수 있도록 다양한 기능을 제공합니다.

 

✔️ git restore – 작업 트리에서 변경 사항 취소

✔️ git restore --staged – 스테이징된 변경 사항 취소

✔️ git reset HEAD^ – 최신 커밋 되돌리기

✔️ git reset <커밋 해시> – 특정 커밋으로 되돌리기

🚀 Git을 더욱 효과적으로 활용하는 팁

  • 되돌리기 전에는 항상 git statusgit log를 확인하세요.
  • 실수로 되돌린 경우 git reflog를 사용하여 복구할 수 있습니다.
반응형
반응형

Git 단계별 파일 상태 확인 🚀 
Untracked → Staged → Committed 완벽 가이드

Git에서 파일이 어떻게 상태가 변하는지 알고 계신가요?
Git은 작업 중인 파일을 여러 단계로 구분하여 관리합니다.
이번 가이드에서는 Git 파일 상태 변화 과정을 실전 예제와 함께 쉽게 설명하겠습니다! 🎯

 

 

안녕하세요, 여러분! 😊

Git을 사용하다 보면 파일이 어떤 상태에 있는지 확인하고, 어떤 단계에서 커밋해야 하는지 고민되는 경우가 많습니다.

 

"Git에서 파일이 어떻게 관리될까?"

"Untracked, Modified, Staged 상태가 뭘까?"

"어떤 파일을 커밋할 수 있는 상태인지 어떻게 알 수 있을까?"

 

이 글에서는 Git의 파일 상태 변화 과정을 실전 예제와 함께 쉽게 설명하겠습니다.

이제 Git을 자유롭게 활용하며 파일의 상태를 정확히 파악해 봅시다! 🚀

1. Untracked 상태: Git이 추적하지 않는 파일 ❌

Untracked 상태란 Git이 아직 추적하지 않는 파일을 의미합니다.

즉, 새로운 파일을 생성했지만 아직 Git 저장소에 추가되지 않은 상태입니다.

Untracked 파일 확인 방법

# Git 상태 확인
$ git status

 

아래와 같은 결과가 출력되면,

Git이 해당 파일을 아직 추적하지 않고 있다는 의미입니다.

Untracked files:
  (use "git add ..." to include in what will be committed)

	newfile.txt

Untracked 상태에서 Staged 상태로 변경하는 방법

Untracked 상태의 파일을 Git에서 관리하려면,

git add 명령어를 사용하여 스테이징(Staging) 영역에 추가해야 합니다.

# 특정 파일 추가
$ git add newfile.txt

# 모든 변경 사항 추가
$ git add .

 

위 명령어를 실행하면 Untracked 상태에서 Staged 상태로 변경됩니다.

다음 섹션에서는 Staged 상태에서 커밋을 준비하는 방법을 살펴보겠습니다! 🚀

 

 

2. Staged 상태: 커밋을 준비하는 파일 📝

Staged 상태란 커밋을 하기 위해 준비된 파일의 상태를 의미합니다.

즉, Git이 해당 파일을 추적하고 있으며, 다음 커밋에서 변경 사항이 반영될 파일이다! 입니다.

Staged 상태의 파일 확인

# Git 상태 확인
$ git status

 

아래와 같은 결과가 출력되면, 파일이 Staged 상태라는 의미입니다.

Changes to be committed:
  (use "git restore --staged ..." to unstage)

	new file:   newfile.txt

Staged 상태에서 커밋으로 이동하기

파일이 Staged 상태가 되었다면, 이제 커밋을 생성할 수 있습니다.

다음 명령어를 실행하면 변경 사항이 Git 저장소에 기록됩니다.

# 변경 사항 커밋하기
$ git commit -m "새로운 파일 추가: newfile.txt"

 

이제 해당 파일은 Git 저장소에 영구적으로 기록되었으며, Committed 상태가 됩니다.

다음 섹션에서는 Committed 상태가 무엇인지 살펴보겠습니다! 🚀

 

 

3. Committed 상태: 저장소에 기록된 파일 📌

Committed 상태란 **Git 저장소에 영구적으로 저장된 파일의 상태**를 의미합니다. 즉, 변경 사항이 기록되어 있으며, **언제든지 해당 버전으로 되돌릴 수 있습니다.**

커밋 기록 확인하기

# 커밋 기록 확인
$ git log --oneline

 

아래와 같은 출력 결과가 나타나면, 해당 커밋이 저장소에 기록되었다는 의미입니다.

3f6a1b2 새로운 파일 추가: newfile.txt
2d8e4f7 기능 추가: 사용자 로그인
c7a9d5b 버그 수정: 로그인 실패 처리

Committed 상태에서 변경 사항 추가하기

Committed 상태 이후 파일을 수정하면, 해당 파일은 다시 Modified 상태가 됩니다.

변경 사항을 저장하려면 Staged → Committed 단계를 다시 거쳐야 합니다.

# 파일 수정 후 Git 상태 확인
$ git status

# 변경 사항을 Staged 상태로 이동
$ git add modified_file.txt

# 변경 사항을 커밋
$ git commit -m "파일 수정: modified_file.txt"

 

여기까지 Git의 Untracked → Staged → Committed 상태 변화를 확인했습니다.

 

 

🔚 마무리: Git 단계별 파일 상태 확인 완벽 정리 🚀

이제 Git에서 파일이 어떻게 상태가 변하는지 확실히 이해하셨나요?

Git은 Untracked → Staged → Committed 단계를 통해 파일을 체계적으로 관리합니다.

각 상태를 정확히 이해하면, 효율적인 버전 관리와 협업이 가능해집니다!

 

✔️ Untracked – Git이 추적하지 않는 파일

✔️ Staged – 커밋을 위해 준비된 파일

✔️ Committed – 저장소에 기록된 파일

 

🚀 Git을 더욱 효과적으로 활용하는 팁

  • git status 명령어를 자주 실행하여 파일 상태를 확인하세요.
  • 파일을 커밋하기 전에 git add를 사용하여 Staged 상태로 변경하세요.
  • 커밋 후 git log --oneline을 실행하여 변경 사항을 확인하세요.

Git의 파일 상태 변화 과정을 익히면, 버전 관리가 한층 쉬워지고 협업이 원활해집니다.

이제 Git의 강력한 기능을 활용하여 프로젝트를 체계적으로 관리해 보세요! 🚀

반응형
반응형

Git 변경사항 확인 방법 🚀
파일 변경 추적부터 차이 비교까지 완벽 가이드

Git을 사용하면서 코드가 변경되었는지 어떻게 확인하나요?
Git은 파일의 변경 사항을 추적하고 비교하는 다양한 기능을 제공합니다.
이번 가이드에서는 Git의 변경 사항을 확인하는 방법을 실전 예제와 함께 쉽게 설명하겠습니다! 🎯

 

 

안녕하세요, 여러분! 😊

Git을 사용하다 보면 **어떤 파일이 변경되었는지, 어떤 내용이 수정되었는지** 확인해야 할 때가 많습니다.

 

"어떤 파일이 변경되었지?"

"수정된 내용을 비교하려면 어떻게 해야 할까?"

"스테이징된 변경 사항과 기존 버전의 차이를 보고 싶어!"

 

이 글에서는 Git의 강력한 변경 사항 추적 기능을 실전 예제와 함께 쉽게 설명하겠습니다.

이제 Git 변경 사항 확인 기능을 자유롭게 활용해봅시다! 🚀

1. 변경된 파일 확인하기 (git status) 🔍

Git에서는 git status 명령어를 사용하여 현재 작업 디렉터리의 변경 사항을 쉽게 확인할 수 있습니다.

이 명령어는 추적되지 않은 파일, 변경된 파일, 스테이징된 파일 등을 한눈에 보여줍니다.

기본적인 git status 사용법

# 현재 저장소의 변경 사항 확인
$ git status

 

실행 결과 예시:

On branch main
Your branch is up to date with 'origin/main'.

Changes not staged for commit:
  (use "git add ..." to update what will be committed)
  (use "git restore ..." to discard changes)
	modified:   index.html

Untracked files:
  (use "git add ..." to include in what will be committed)
	newfile.txt

no changes added to commit (use "git add" and/or "git commit -a")

git status 결과 해석

  • Changes not staged for commit → 수정된 파일이 있지만 아직 스테이징되지 않음
  • Untracked files → Git에서 추적하지 않는 새로운 파일이 존재
  • No changes added to commit → 아직 변경 사항이 커밋되지 않음
  •  

변경 사항을 스테이징하는 방법

# 특정 파일을 스테이징하기
$ git add index.html

# 모든 변경된 파일을 스테이징하기
$ git add .

# 변경 사항을 커밋하기
$ git commit -m "index.html 수정"

 

이제 Git에서 변경된 파일을 쉽게 확인하고 스테이징하는 방법을 확인했습니다.

 

2. 변경 내용 비교하기 (git diff) 🔍

파일이 변경되었을 때, 어떤 부분이 수정되었는지 확인하는 것이 중요합니다.

Git에서는 git diff 명령어를 사용하여 변경된 코드의 차이점을 비교할 수 있습니다.

작업 디렉터리에서 변경 사항 확인

# 현재 수정된 파일의 변경 사항 확인
$ git diff

 

이 명령어를 실행하면 추적된 파일의 변경 내용이 표시됩니다.

아래와 같은 결과를 볼 수 있습니다.

diff --git a/index.html b/index.html
index 3f6a1b2..2d8e4f7 100644
--- a/index.html
+++ b/index.html
@@ -1,3 +1,3 @@

스테이징된 파일과 이전 커밋 비교

# 스테이징된 파일의 변경 사항 확인
$ git diff --staged

 

이 명령어를 실행하면, git add로 스테이징된 파일과 마지막 커밋된 파일 간의 차이점을 확인할 수 있습니다.

특정 파일의 변경 사항 비교

# 특정 파일의 변경 사항 확인
$ git diff filename.txt

 

특정 파일의 변경 내용을 확인하려면 파일명을 추가하면 됩니다.

단어 또는 줄 단위로 비교하기

# 줄 단위가 아닌 단어 단위 비교
$ git diff --word-diff

 

이 옵션을 사용하면, 변경 사항을 보다 자세하고 직관적으로 확인할 수 있습니다.

이제 Git에서 변경된 파일을 비교하는 방법을 배웠습니다.

다음 섹션에서는 커밋 간 변경 사항을 비교하는 방법을 알아보겠습니다! 🚀

 

3. 커밋 간 차이 비교하기 🔍

Git을 사용하면 과거의 특정 커밋과 현재 상태를 비교하거나, 개의 커밋 간 변경 사항을 확인할 수 있습니다. 

이 기능은 이전 버전으로 돌아가거나 코드 리뷰를 할 때 매우 유용합니다.

이전 커밋과 현재 상태 비교

# 마지막 커밋과 현재 작업 디렉터리의 차이 확인
$ git diff HEAD

 

이 명령어는 현재 작업 디렉터리와 가장 최근 커밋 간의 변경 사항을 비교하는 역할을 합니다.

두 개의 특정 커밋 간 비교

# 두 개의 특정 커밋 사이의 변경 사항 확인
$ git diff <커밋1 해시> <커밋2 해시>

 

예를 들어, 아래와 같이 입력하면 두 커밋 사이의 변경 내용을 비교할 수 있습니다.

$ git diff 3f6a1b2 2d8e4f7

브랜치 간 차이 비교

# 메인 브랜치와 feature 브랜치의 차이 확인
$ git diff main feature

 

이 명령어를 사용하면 두 브랜치 간의 변경 사항을 비교할 수 있으며, 코드 리뷰나 병합 전 충돌 확인에 매우 유용합니다.

특정 파일의 변경 사항 비교

# 특정 파일의 변경 내용 비교
$ git diff <커밋1 해시> <커밋2 해시> -- filename.txt

 

이제 Git에서 커밋 간 변경 사항을 비교하는 방법을 살펴보았습니다.

 

🔚 마무리: Git 변경 사항 확인 완벽 정리 🚀

이제 Git에서 변경 사항을 확인하는 다양한 방법을 확실히 이해하셨나요?

코드 변경 이력을 파악하는 것은 효율적인 버전 관리와 협업을 위한 필수 기술입니다.

 

✔️ git status – 변경된 파일 목록을 확인

✔️ git diff – 파일 변경 내용을 비교

✔️ git diff --staged – 스테이징된 변경 사항 확인

✔️ git diff <커밋1> <커밋2> – 커밋 간 차이 비교

✔️ git diff main feature – 브랜치 간 변경 사항 비교

 

🚀 Git을 더욱 효과적으로 활용하는 팁

  • 코드를 수정한 후 git status로 어떤 파일이 변경되었는지 확인하세요.
  • 파일 변경 내용을 비교할 때는 git diff를 활용하세요.
  • 브랜치 간 코드 차이를 확인하려면 git diff main feature를 실행하세요.

Git을 활용한 변경 사항 확인 방법을 익히면, 더 효율적으로 코드 변경 내역을 추적하고 협업할 수 있습니다. 

이제 Git의 강력한 기능을 적극 활용하여 프로젝트를 체계적으로 관리해 보세요! 🚀

반응형

+ Recent posts