반응형

232202 깃배시정리

원본 Notion

Git Bash 기초 명령어 복습

금일 들었던 새 프로젝트 생성 후 원격 리포지터리에 푸시, 원격 리포지터리 삭제까지의 내용에서 Intellij에 있는 git bash를 사용한 부분을 각 step별로 복습 및 추가 학습한 내용을 작성했습니다.

내용은 장희성 강사님께서 작성해주신 4강 자바-인텔리제이 페이지를 참고했습니다.


◼git bash를 통한 작업

(프로젝트 생성과 원격 리포지터리가 만들어졌다는 가정 하에 작성)

📃진행한 step

  1. 로컬 git 리포지터리 생성
  2. .gitignore 파일 생성(bash작업x)[1]
  3. git add .
  4. git commit -m “메시지”
  5. git status
  6. 프로젝트 파일 수정
  7. git add .
  8. git commit -m “메시지”
  9. git remote -v (-v 를 붙이면 상세확인이 가능함)[2]
  10. git remote add origin 주소
  11. git push origin main

◼사용한 명령어

  • git config - 컴퓨터에 설치 된 Git의 유저 설정(전체설정 : Global | 개인(Default) : Local)
  • git init - 해당 디렉토리 기준 git로컬 리포지터리가 생김 ( 프로젝트파일 위치 Users/…/project/.git)
  • git status - 파일이 수정되어 있는지 확인하는 명령어 (Untracked files : Staging Area로 이동이 안된 상태)[3]
  • git log - 커밋한 기록을 확인할 수 있음
  • git add - 로컬 리포지터리에 있는 파일을 Staging Area로 복사한다. ( . 을 붙였을 때 변경된 파일 전체를 복사)
  • git commit - Staging Area 에 있는 파일을 로컬 리포지터리에 변경사항 저장하기
  • git remote - 로컬 리포지터리와 원격 리포지터리를 연결하는 명령어이다.
  • git push - 로컬 리포지터리에 있는 변경사항(committed)들을 원격 리포지터리에 보낸다

👀다른 주요 기능

  • git reset - 이전 커밋으로 작업 트리를 되돌리거나, 커밋을 취소하는데 사용되는 기능
    • —hard : 이전 커밋으로 되돌릴 때 사용한다. 이전 커밋 이후 작업한 내용은 모두 삭제된다.
    • —soft : 이전 커밋으로 되돌릴 때 작업트리는 이전 커밋으로 변경하지만 인덱스는 변경하지 않음, 이전 커밋 이후에 작업한 내용은 스테이징 영역에 그대로 남아있다.
    • —mixed : 이전 커밋으로 되돌릴 때 작업 트리는 이전 커밋으로 변경하지만 인덱스는 변경하지 않는다. 이전 커밋 이후에 작업한 내용은 스테이징 영역에서 제거된다.
    • 사용 옵션은 종합적으로 보고 잘 판단해야 하는데, 아예 커밋 이전으로 되돌리고 나머지 했던 작업을 버릴 거라면 hard, 커밋 내용을 잘못 작성했다면 soft, 작업내용은 남기고 add만 안된 상태를 원할 거라면 mixed를 사용하면 될 것이다.
  • .gitignore - 로컬 리포지터리에서 원격 리포지터리로 파일을 전송할 때 원하지 않는 파일(보안관련 키, 용량이 큰 컴파일러 등)을 전송하지 않게 하기 위한 예외설정 목록을 저장해 둔 파일이다.
  • rm -rf .git 로컬 깃 리포지터리를 삭제시킨다

👀Stage

로컬 리포지터리 → git 원격 리포지터리로 가기 전 (로컬)가상 임시저장 장소이다.

Stage 또는 Staging Area라고 부르며 원격 리포지터리에 전송 전 최종 검토하는 장소이다. 이 작업을 통해 정확한 변경내용의 기록을 유지하며 커밋에 포함되어서는 안될 파일을 실수로 커밋하지 못하도록 방지할 수 있다.

Staging Area도 엄밀히 따지면 로컬 리포지터리에 있지만 설명을 위해 논리적 구조를 표현하자면 아래의 그림과 같다.

  1. $git add를 통한 변경 된 파일 StagingArea에 저장
  2. $git commit -m “메시지” Staging Area에 저장 된 파일을 원격 리포지터리에 저장하기 위해 메모와 함께 commit
  3. $git push를 통해 원격 리포지터리에 최종 전송

🎸ETC

[1] .gitignore

gitignore.io 사이트 접속 > Java, Intellij 태그 등록 후 생성 > 해당 소스파일 전체 복사 > 프로젝트 폴더에 .gitignore생성 후 소스코드 붙여넣기

[2] remote 상세

[3] git status 상세

 

반응형

'공부 > 노션정리본' 카테고리의 다른 글

스프링 간단 공부 정리  (0) 2023.04.29

+ Recent posts