Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- DM
- python
- DB
- CV
- frontend
- sqlite
- CSS
- html
- threejs
- API
- UI
- ML
- react
- Linux
- mongo
- C++
- Git
- PyTorch
- vscode
- GAN
- postgresql
- review
- js
- Express
- ts
- SOLID
- PRISMA
- ps
- nodejs
- figma
Archives
- Today
- Total
아카이브
[Git] Git의 주요 작업 및 명령어 본문
Git을 통해 작업할 때는 크게 세 가지 영역을 사용하게 됩니다.
Remote
원격 저장소입니다. 로컬에서 작업한 내역을 최종적으로 갱신시켜야 하는 곳입니다.
Local
원격 저장소를 PC 로 가져온 영역입니다. 실제 작업 내역은 여기에 갱신됩니다.
Workspace
실제로 코드를 짜는 영역입니다. 명시되지는 않으나 commit을 하기 전 까지는 로컬 저장소와 구분됩니다.
이 세 영역 사이를 오고가기 위해서는 다양한 동작을 수행해야 합니다.
아래에 이런 동작들에 관련한 Git에서 사용하는 용어를 정리했습니다.
Init | 로컬 환경의 지정된 경로에 로컬 저장소 Local을 새로 생성합니다. 이 저장소는 git 파일만 가지고 있을 뿐, 어떠한 저장소와도 연결되어 있지 않습니다. |
git init |
Pull | Fetch + Merge Remote 저장소를 가져와 Local 저장소와 합칩니다. |
git pull [저장소 url] |
Push | Local 저장소를 Remote 저장소로 보내 합칩니다. | git push [저장소 url] |
Fetch | Local 저장소와 비교하여 Remote 저장소의 수정내역을 확인합니다. 확인만 하기 때문에 Pull 처럼 합치지는 않습니다. Fetch된 저장소는 임시로 생성된 branch에 저장됩니다. |
git fetch |
Merge | Fetch로 확인한 저장소를 Local 저장소와 합칩니다. | git merge |
Clone | Init + Pull = Init + Fetch + Merge 로컬 환경의 지정된 경로에 로컬 저장소를 만들고, 지정한 Remote 저장소를 가져옵니다. |
git clone [저장소 url] |
Add | Workspace에서 작업한 수정내역을 staging에 추가합니다. 저장소 내의 파일들 중에서 선택하여 일부만 추가할 수 있습니다. |
git add [파일 이름] |
Commit | Staging에 추가된 수정 내역을 메세지와 함께 Local 저장소와 합칩니다. 메세지를 통해 Add로 추가된 수정 사항에서 무엇이 바뀌었는 지를 기록할 수 있습니다. Add된 모든 파일에 대해 같은 commit 메세지가 표시되기 때문에, 파일별로 다른 메세지를 남기고 싶다면 따로따로 Add > Commit 과정을 수행하면 됩니다. -m : 커밋 메세지를 입력합니다. --amend : 현재 커밋을 변경합니다. |
git commit -m "[커밋 메세지]" |
아래는 그외 유용한 명령어들입니다.
Status | 저장소의 현재 변경 상태를 나타냅니다. Add로 staging되지 않은 파일들은 수정 표시되지 않습니다. | git status |
Reset | Add로 staging한 파일을 다시 되돌립니다. --hard : 이전 커밋으로 되돌아갑니다. |
git reset [파일 이름] git reset --hard [commit id] |
Log | 이때까지의 commit 목록을 나열합니다. 최신 commit 부터 오래된 commit 순서로 보여줍니다. --pretty=online : commit 목록을 한 줄 단위로 줄여서 보여줍니다. |
git log |
Show | 특정 commit의 내용을 자세히 보여줍니다. | git show [commit id (혹은 그 일부) | tag] |
Diff | 두 commit 사이의 변경점을 보여줍니다. | git diff [이전 commit id ] [이후 commit id ] |
Tag | 특정 commit에 이름을 부여합니다. 그냥 쓰면 현재 부여된 모든 tag들을 표시합니다. |
git tag git tag [tag 이름] [commit id] |
Blame | 특정 파일에서 각 커밋이 누구에 의해 실행되었는지 보여줍니다. 각 줄마다 커밋 id / 사용자 / 일시 / 코드 순으로 보입니다. |
git blame [파일 이름] |
Reflog | head가 가리켜 온 커밋들의 목록을 나열합니다. | git reflog |
728x90
'Git' 카테고리의 다른 글
[Git] git reset - 이전 commit으로 돌아가기 (0) | 2024.12.24 |
---|---|
[Git] git config alias - Git 단축 명령어 임의로 설정해서 사용하기 (0) | 2024.12.23 |
[Git] user config (name, email) 설정하기 (0) | 2024.12.23 |
[Git] Git에 대해서 (0) | 2023.09.16 |
[Git] .gitignore로 필요 없는 폴더 제외하기 (0) | 2023.05.12 |
Comments