3.Git 버전 업데이트(파일 삭제 수정 추가만)

2023. 2. 8. 00:12Git

명령어 모음

git add "파일명" << git commit 할 파일 추가

git add.  현재 디렉토리의 모든 변경 내용을 스테이징 영역으로 넘기고 싶을 때는, .을 인자로 넘김니다.

git add -A 작업 디렉토리 내의 모든 변경 내용을 몽땅 스테이징 영역으로 넘기고 싶을 때는, -A 옵션을 사용합니다.

git add -p  

이 옵션을 사용하면, 각 변경 사항을 터미널에서 직접 눈으로 하나씩 확인하면서 스테이징 영역으로 넘기거나 또는 제외할 수가 있습니다. 많은 변경 내용을 여러 개의 변경 기록으로 나누어서 남기고 싶을 때 유용하게 사용할 수 있습니다.

 

git add -A > git add. > git add '파일명'

 

git log  <<히스토리 조회

git status << 키밋 전 상태조회

git diff  << 커밋 전 상태 상세조회 

git commit -m "메세지" << 키밋

git commit -am "메세지"  << add와 commit 한번에

 

 

윈도우에서 소스트리 문제

윈도우의 소스트리에서 프로젝트의 상태가 바로 업데이트되어 보이지 않을 시
영상에서 제가 했던 것처럼 새로 탭을 열었다 닫을 필요 없이 😅
F5키를 눌러주시면 새로고침이 됩니다

 

 

1. 프로젝트의 변경사항들을 타임캡슐(버전)에 담기

$git status

=================================================================

No commits yet   << 커밋한 적이 없다는 뜻

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        .gitignore
        lions.yaml
        tigers.yaml

nothing added to commit but untracked files present (use "git add" to track)

==============================================================================

  • 추적하지 않는(untracked) 파일: Git의 관리에 들어간 적 없는 파일

git add 하기 전

파일 하나 담기

$git add tigers.yaml
 

git add로 인해 아이콘 변경

 

$git status

====================================================

Changes to be committed:  <<커밋할 준비가 되어있는 파일
  (use "git rm --cached <file>..." to unstage)  
        new file:   tigers.yaml

Untracked files:  << 커밋할 준비가 안되있는파일
  (use "git add <file>..." to include in what will be committed)
        .gitignore
        lions.yaml

====================================================

 

모든 파일 담기

$git add .   << 띄어쓰기 유의
  • git status로 확인

===================================================
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   .gitignore
        new file:   lions.yaml
        new file:   tigers.yaml

===================================================

2. 타임캡슐 묻기

아래 명령어로 commit

 

마우스 없이 코딩한다구요?

어려운 프로그래밍 개념들을 쉽게 설명해주는 유튜브 채널 '얄팍한 코딩사전'. 영상에서 다 알려주지 못한 정보들이나 자주 묻는 질문들의 답변들, 예제 코드들을 얄코에서 확인하세요!

www.yalco.kr

작업Vi 명령어상세

입력 시작 i 명령어 입력 모드에서 텍스트 입력 모드로 전환
입력 종료 ESC 텍스트 입력 모드에서 명령어 입력 모드로 전환
저장 없이 종료 :q  
저장 없이 강제 종료 :q! 입력한 것이 있을 때 사용
저장하고 종료 :wq 입력한 것이 있을 때 사용
위로 스크롤 k git log등에서 내역이 길 때 사용
아래로 스크롤 j git log등에서 내역이 길 때 사용
  • FIRST COMMIT 입력한 뒤 저장하고 종료

커밋 메시지까지 함께 작성하기

git commit -m "FIRST COMMIT"

아래 명령어와 소스트리로 확인

git log

  • 종료는 :q

i로 입력 이후 ESC로 입력모드를 나와서 :wq로 저장

 

 

$ git status

==================================

On branch main
nothing to commit, working tree clean

==================================

 

SourceTree에서도 확인 할 수 있다.

 

 

 

**vim 모드를 실행하지 않고

git commit -m "FIRST COMMIT" 로 한번에 처리 가능

 

$ git log   <<깃 로그 확인

============================================================
commit d3be7a472084252bfed65830970a9cb8ff33eeb0 (HEAD -> main)
Author: dhlee <ldh2481@gmail.com>
Date:   Tue Feb 7 23:42:59 2023 +0900

    FIST COMMIT

============================================================

 

3. 다음 변경사항들을 만들고 타임캡슐에 묻기

 실습 전 주의사항!

실습시 줄바꿈 등의 세부사항도 영상과 똑같이 해주세요!
예) team 줄과 manager 줄이 두 줄 간격인 것 등
이후의 실습에서 영상과의 사소한 차이로 충돌이 발생할 수 있습니다.

 

변경사항

  • lions.yaml 파일 삭제
  • tigers.yaml의 manager를 Donald로 변경
  • leopards.yaml 파일 추가

leopards.yaml 

 

team: Leopards

manager: Luke

members:
- Linda
- William
- David

 

  • git status로 확인
    • 파일의 추가, 변경, 삭제 모두 내역으로 저장할 대상

$ git status

=====================================================
On branch main
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)        
  (use "git restore <file>..." to discard changes in working directory)
        deleted:    lions.yaml  << 삭제

       modified:   tigers.yaml  <<  수정


Untracked files:
  (use "git add <file>..." to include in what will be committed)
        leopards.yaml  << 추가

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

=====================================================

 

  • git diff로 확인  << git status 보다 디테일하게 확인

$ git diff

================================================================

diff --git a/lions.yaml b/lions.yaml
deleted file mode 100644
index 416a903..0000000
--- a/lions.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
-team: Lions
-
-manager: Mary
-
-members:
-- Thomas
-- Karen
-- Margaret
\ No newline at end of file
diff --git a/tigers.yaml b/tigers.yaml
index ebd5d76..480f6dc 100644
--- a/tigers.yaml
+++ b/tigers.yaml
@@ -1,6 +1,6 @@
 team: Tigers

-manager: John
+manager: Donald

 members:
 - Linda
(END)

================================================================

 

작업Vi 명령어상세

위로 스크롤 k git log등에서 내역이 길 때 사용
아래로 스크롤 j git log등에서 내역이 길 때 사용
끄기 :q :가 입력되어 있으므로 q만 눌러도 됨

 

 

 

변경된 파일들 추가

$ git add .

 

상태확인

$ git status

================================================================
On branch main
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   leopards.yaml
        deleted:    lions.yaml
        modified:   tigers.yaml

================================================================

 

$ git commit -m "Replace Lions with Leopards"

================================================================
[main d1054fa] Replace Lions with Leopards
 3 files changed, 9 insertions(+), 9 deletions(-)
 create mode 100644 leopards.yaml
 delete mode 100644 lions.yaml

================================================================

 

$ git log

================================================================
commit d1054fac35a8aa1b223ab13e1bb8beb2ad5fd028 (HEAD -> main)
Author: dhlee <ldh2481@gmail.com>
Date:   Tue Feb 7 23:57:17 2023 +0900

    Replace Lions with Leopards   <<커밋메시지2

commit d3be7a472084252bfed65830970a9cb8ff33eeb0
Author: dhlee <ldh2481@gmail.com>
Date:   Tue Feb 7 23:42:59 2023 +0900

    FIST COMMIT 커밋메시지1
:================================================================

 

 TIP add와 commit 한꺼번에

$git commit -am "(메시지)"

  • 🛑 새로 추가된(untracked) 파일이 없을 때 한정

 

4. 다음 강을 위한 준비

다음의 세 커밋들을 추가하세요.

🎯 첫 번째 추가 커밋

  • Tigers의 members에 George 추가
  • 커밋 메시지: Add George to Tigers

 

🎯 두 번째 추가 커밋

  • cheetas.yaml 추가
team: Cheetas
manager: Laura
members:
- Ryan
- Anna
- Justin
  • 커밋 메시지: Add team Cheetas

 

🎯 세 번째 추가 커밋

  • cheetas.yaml 삭제
  • Leopards의 manager를 Nora로 수정
  • panthers.yaml 추가
team: Panthers
manager: Sebastian
members:
- Violet
- Stella
- Anthony
  • 커밋 메시지: Replace Cheetas with Panthers