일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ubuntu
- error
- Thymeleaf
- STS
- maven
- JavaScript
- JDBC
- Source
- 문서
- IntelliJ
- Open Source
- MySQL
- myBatis
- Core Java
- SpringBoot
- jpa
- Eclipse
- Spring Boot
- Docker
- Exception
- Tomcat
- PostgreSQL
- spring
- 오픈소스
- AJAX
- 설정
- Python
- git
- oracle
- MSSQL
- Today
- Total
헤르메스 LIFE
[IntelliJ] Git을 이용한 Commit & Push 하기 및 gitignore 파일 생성 본문
[IntelliJ] Git을 이용한 Commit & Push 하기 및 gitignore 파일 생성
헤르메스의날개 2021. 1. 24. 17:28Git을 처음 써봅니다. ( 몇 년 전에 공부했던 건 당연히 생각안납니다. ㅠ.ㅠ )
목표
IntelliJ를 이용해서 Git 을 SVN 처럼 사용하기.
1. 전체 sync 하기
2. Commit & Push 하기
개발환경
IntelliJ 2020.3
Git 2.30
IntelliJ 에서는 기본적으로
수정된 파일은 파랑색으로 보입니다.
신규 추가된 파일은 녹색으로 보입니다.
병합된 파일은 보라색으로 보입니다.
※ 자세한 내용은 [File] >> [Setting] >> Version Control >> [File Status Colors] 를 참고하세요.
[프로젝트] >> [마우스 오른쪽 클릭] >> [Git] >> [Commit Directory] 합니다.
아래처럼 수정된 내용이 보여집니다.
그런데.. Commit 되지 않아도 될 파일 및 폴더까지 보여집니다.
안 보여지는 게 좋겠죠.
1. 제외할 폴더를 선택하고, [마우스 오른쪽 클릭] >> [Git] >> [Add to .gitignore] 를 선택합니다.
2. 처음 생성하신다면 ..
3. .gitignore 파일을 추가해야합니다.
4. [프로젝트] >> [마우스 오른쪽 클릭] >> [Git] >> [Commit Directory]
※ .gitigronre를 추가했지만, 이미 추적 중인 내용 때문에 계속 보여집니다.
보여지는 내용을 삭제하고 싶으시면 아래와 같이 처리하시면 됩니다. ( 가능한 터미널 환경에서 안하고 싶지만 확인해야 합니다. )
> git status > git rm --cached <파일> > git rm -r --cached <폴더> |
- -r : recursive removal - 폴더 안에 다른 파일이 있으면 그 폴더를 지우지 못한다. 그래서 폴더를 지우기 전에 안에 있는 내용을 반복적으로 비워주고 지우겠다는 옵션이다.
- --cached : only remove from the index - index에만 지워준다는 말은 Stage Area에서 내려주겠다는 옵션이다. 이 옵션을 사용하면 git에 있는 인덱스 파일만 삭제하고 실제 파일은 삭제되지 않는다.
> git rm -r --cached . <- 여기 점까지.. > git add . > git commit -m ".gitignore fix" |
5. .gitignore 파일 생성완료.
# IntelliJ 설정폴더
/.idea/
# Tomcat Log 폴더
/log/
# Spring Boot Log 폴더
/logs/
# Compile된 class 폴더
/target/
/work/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
# IntelliJ
out/
6. [프로젝트] >> [마우스 오른쪽 클릭] >> [Git] >> [Commit Directory] 합니다.
처음과 달리 log, logs, target, work 폴더의 수정된 내용이 보이지 않습니다.
commit : commit 만 ..
commit and Push : Remote 서버(GitHub)에 전송까지..
- commit 만 해둔 내역이 쌓여 있으면, 전송되지 않는 모양입니다.
7. Commit 후에는 반드시 Push 를 해줘야 합니다.
- 그래야 Remote 에 반영됩니다. 그리고, Commit 만 해두면 쌓여 있습니다. ㅠ.ㅠ
Commit 시에 등록한 Comment 를 선택하고, Push 를 선택하면 됩니다.
아래의 내용을 읽어보면 왜 Push를 해야 하는지 이해가 될 겁니다.
commit 이라는 작업은 Local 저장소에 저장하는 기능이기 때문에 Remote Repository ( GitHub )에 저장하기 위해서 Push를 해야 합니다.
Committed, Modified, StagedGit은 파일을 Committed, Modified, Staged 이렇게 세 가지 상태로 관리한다.
Committed란 데이터가 로컬 데이터베이스에 안전하게 저장됐다는 것을 의미한다.
Modified는 수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않은 것을 말한다.
Staged란 현재 수정한 파일을 곧 커밋할 것이라고 표시한 상태를 의미한다.
이 세 가지 상태는 Git 프로젝트의 세 가지 단계와 연결돼 있다. Git 디렉토리, 워킹 트리, Staging Area 이렇게 세 가지
단계를 이해하고 넘어가자.
Git 디렉토리는 Git이 프로젝트의 메타데이터와 객체 데이터베이스를 저장하는 곳을 말한다. 이 Git 디렉토리가 Git의
핵심이다. 다른 컴퓨터에 있는 저장소를 Clone 할 때 Git 디렉토리가 만들어진다.
워킹 트리는 프로젝트의 특정 버전을 Checkout 한 것이다. Git 디렉토리는 지금 작업하는 디스크에 있고 그 디렉토리
안에 압축된 데이터베이스에서 파일을 가져와서 워킹 트리를 만든다.
Staging Area는 Git 디렉토리에 있다. 단순한 파일이고 곧 커밋할 파일에 대한 정보를 저장한다. 종종 “Index” 라고
불리기도 하지만, Staging Area라는 명칭이 표준이 되어가고 있다.
Pro Git ( git-scm.com/book/ko/v2 ) 한글 문서 13 ~ 14 page
'Eclipse와 IntelliJ 관련' 카테고리의 다른 글
[STS] STS 설치 - 4.13.1.RELEASE (0) | 2022.02.07 |
---|---|
[IntelliJ] Git을 이용한 Merge, Rebase (0) | 2021.01.25 |
[IntelliJ] Git 연동하기 (0) | 2021.01.23 |
[IntelliJ] 이것 저것 설정 (0) | 2020.12.26 |
[IntelliJ] Eclipse 와 IntelliJ IDEA 비교 (0) | 2020.11.23 |