일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- assume
- 부스트코스
- springframeworkruntime
- securityconfig
- DispatcherServlet
- .idea
- Git
- springsecurity
- container
- 스프링프레임워크
- GitHub
- CS50
- MVC
- gitbash
- 팀과제
- 원격저장소
- springmvc
- Swagger
- Spring
- assume That
- c언어
- assuming That
- springboot
- MVC모듈
- assume True
- .out
- 파일삭제
- swaggerUrl
- Junit5
- 컴퓨터과학
- Today
- Total
도담이 먹여 살려야하는 집사
Git Bash 로 .idea파일 지우기 본문
2차 프로젝트하면서 git으로 파일 한 번 날리고 난 이후로 git 할 때 클릭 한번 한 번이 신중해졌다.
또 다른 팀원들은 이클립스 쓰고 나는 인텔리제이를 쓰고 있어서 툴이 다르니까 어떤파일이 꼭 있어야 하고 어떤 파일이 없어도 되는지 잘 몰라서 아무렇게나 했다가 프로젝트 인식이 안돼서 진짜 몇 번은 고생한 거 같다.. git은 사실 포스팅할 생각이 전혀 없었는데 프로젝트 진행하면서 툴다름의 문제, 깃으로 인한 문제를 많이 겪어서 중요성을 너무나 뼈저리게 느꼈다. 그래서 이번 포스팅에서는. gitignore을 했는데도 올라가버린. idea폴더를 gitbash를 이용해서 지워보려고 한다. (원래는 소스 트리 사용하고 있었음)
우선 나는 인텔리제이에서 gitignore 플러그인을 설치하고 파일을 생성했다. 플러그인을 사용하지 않을 경우 아래 링크를 사용해서 사용하는 언어와 툴이름을 적어주면 바로 소스가 생성된다.
www.toptal.com/developers/gitignore
### JetBrains template
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
# Generated files
.idea/**/contentModel.xml
# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
# Gradle
.idea/**/gradle.xml
.idea/**/libraries
# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr
# CMake
cmake-build-*/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
# Editor-based Rest Client
.idea/httpRequests
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
### Maven template
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
# https://github.com/takari/maven-wrapper#usage-without-binary-jar
.mvn/wrapper/maven-wrapper.jar
### Java template
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
위 코드로 깃 레포에는 .gitignore파일이 잘 올라가 있는데. idea폴더가 같이 올라가 있다.
그래서 프로젝트에서 .gitignore파일을 확인해보니 이렇게만 올라가 있었다.
그래서 고치는 김에 다음 프로젝트를 위해서 .idea가 뭐고 gitignore에 어떤 소스가 들어가야 하고 gitbash로 지워보는 공부 및 연습을 해보기로 했다. 우선. idea가 뭔지 알아보자.
이번에 새로 생성한 프로젝트에 올라가 있는 .idea파일 이다. 하위 폴더/파일 중에 몇명은 gitignore되어야 하고 몇몇은 아니라고 한다 어떤 파일을 .gitignore에 포함시켜야 하는지는 아래 링크 참조
github.com/github/gitignore/blob/master/Global/JetBrains.gitignore
추가적으로 .out폴더도 있는데 이 폴더는 빌드/컴파일시 .class파일이 포함된 프로젝트의 출력이 포홤되는 위치라고 한다.
1. 원격 저장소에서 파일 삭제하기
현재 이미 github remote에 push를 한 상태이기 때문에 로컬저장소에서 삭제를 해도 원격저장소에서는 삭제가 되지 않는다고 한다. 이를 삭제하기 위해서 명령어가 2개가있는데 차이점이 있다.
- git rm VS git rm -cached
// 원격 저장소와 로컬 저장소에 있는 파일을 삭제한다.
$ git rm [File Name]
// 원격 저장소에 있는 파일을 삭제한다. 로컬 저장소에 있는 파일은 삭제하지 않는다.
$ git rm --cached [File Name]
따라서 $ git rm --cached [File Name] 를 이용해서 원격저장소에 올라간 파일을 삭제하면,
2. 원격저장소에 적용하게 되면 -git commit -m >> git push
버전 관리에서 완전히 제외하기 위해서 commit 과 push를 꼭 수행해야한다
그러면 원격저장소에 .idea 폴더가 사라진걸 볼 수 있다.