wisePocket

[JAVA] 기초문법 - IntelliJ IDEA 기초 설정 - 02 본문

Java & Algorithm/Java

[JAVA] 기초문법 - IntelliJ IDEA 기초 설정 - 02

ohnyong 2023. 7. 22. 19:21
  • 우선 폰트가 어색하다. 항상 쓰던 d2coding으로 바꿔주자

  • 커서 복사(다중입력커서)를 위한 Clone Caret을 설정 cmd+위아래

  • 라인 복사 *아주 많이 쓰임 cmd+shift+아래

  • github에 매일 연습한 것을 기록하기 위해서 repository를 생성하고 remote repository와 연결한다.
  • 아무것도 한것이 없는데 기본 파일들이 모두 추적되고 있다.
  • 예전 프로젝트에서 계속 OS 정보와 각 팀원들의 시간 정보가 갱신되는 파일들이 추적되고 병합마다 충돌이나서 귀찮으면서도 끝까지 gitignore를 등록 안하다 마지막에 등록한 기억이 난다.

  • 특히 gradle, idea 폴더들이 눈에띄는데 이번에는 이것들이 무조건 필요한지, 보통 어떤 것들을 gitignore에 등록해야 하는지 다른 프로젝트를 진행한 사람들의 gitignore를 검색해본다. 
  • 어떤 블로그에서 이러한 파일들을 gitignore로 등록했다. 이 사람만의 충돌을 위한것일까? 왜 추적을 금지 했을까? 윈도우즈 유저와 협업을 진행했던것 같다.
### Windows ###
# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# Windows shortcuts
*.lnk


### Intellij ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio

*.iml

## Directory-based project format:
.idea/

logs/
# if you remove the above rule, at least ignore the following:

# User-specific stuff:
# .idea/workspace.xml
# .idea/issues.xml
# .idea/dictionaries

# Sensitive or high-churn files:
# .idea/dataSources.ids
# .idea/dataSources.xml
# .idea/sqlDataSources.xml
# .idea/dynamic.xml
# .idea/uiDesigner.xml

# Gradle:
# .idea/gradle.xml
# .idea/libraries

# Mongo Explorer plugin:
# .idea/mongoSettings.xml

## File-based project format:
*.ipr
*.iws

## Plugin-specific files:

# IntelliJ
/out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# Eclipse

.metadata/
RemoteSystemTempFiles/
.project

# JIRA plugin
atlassian-ide-plugin.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties


### node ###
#kr.wisestone.owl/src/main/webapp/bower_components/

*.log


### Java ###
*.class
target/

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.war
*.ear

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*


### Node ###
node_modules/
  • 정답은 gitignore.io라는 웹사이트를 사용한 것이었다.

https://www.gitignore.io

 

gitignore.io

Create useful .gitignore files for your project

www.toptal.com

  • 나도 MacOS, Windows, Java, Gradle, IntelliJ 라는 키워드로 .gitignore를 작성했다.
# Created by https://www.toptal.com/developers/gitignore/api/java,gradle,intellij,windows,macos
# Edit at https://www.toptal.com/developers/gitignore?templates=java,gradle,intellij,windows,macos

### Intellij ###
# 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

# AWS User-specific
.idea/**/aws.xml

# 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

# SonarLint plugin
.idea/sonarlint/

# 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

### Intellij Patch ###
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721

# *.iml
# modules.xml
# .idea/misc.xml
# *.ipr

# Sonarlint plugin
# https://plugins.jetbrains.com/plugin/7973-sonarlint
.idea/**/sonarlint/

# SonarQube Plugin
# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
.idea/**/sonarIssues.xml

# Markdown Navigator plugin
# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
.idea/**/markdown-navigator.xml
.idea/**/markdown-navigator-enh.xml
.idea/**/markdown-navigator/

# Cache file creation bug
# See https://youtrack.jetbrains.com/issue/JBR-2257
.idea/$CACHE_FILE$

# CodeStream plugin
# https://plugins.jetbrains.com/plugin/12206-codestream
.idea/codestream.xml

# Azure Toolkit for IntelliJ plugin
# https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij
.idea/**/azureSettings.xml

### Java ###
# 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*
replay_pid*

### macOS ###
# General
.DS_Store
.AppleDouble
.LSOverride

# Icon must end with two \r
Icon


# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

### macOS Patch ###
# iCloud generated files
*.icloud

### Windows ###
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db

# Dump file
*.stackdump

# Folder config file
[Dd]esktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp

# Windows shortcuts
*.lnk

### Gradle ###
.gradle
**/build/
!src/**/build/

# Ignore Gradle GUI config
gradle-app.setting

# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar

# Avoid ignore Gradle wrappper properties
!gradle-wrapper.properties

# Cache of project
.gradletasknamecache

# Eclipse Gradle plugin generated files
# Eclipse Core
.project
# JDT-specific (Eclipse Java Development Tools)
.classpath

### Gradle Patch ###
# Java heap dump
*.hprof

# End of https://www.toptal.com/developers/gitignore/api/java,gradle,intellij,windows,macos
  • 이제 이정도면 git으로 이동해도 될 파일이라고 믿어봐야 할 듯하다. 해당 부분은 추후 협업 시 충돌이 발생하거나, 오히려 필수적인 부분이 .gitignore에 등록 됬는지 추가 확인이 필요하다.

  • 자 이제 커밋을 하려는데, 예전부터 커밋 메시지를 거의 메모장처럼 사용하고 있었다.
  • 다음 글에 올바른 커밋 메시지 작성법을 정리하고 나도 그렇게 작성하려고 한다!

해당 Java 기초 연습은 아래 깃허브를 통해 업로드 됩니다.

https://github.com/yzpocket/ohnyong_java_excercise

 

yzpocket/ohnyong_java_excercise

Contribute to yzpocket/ohnyong_java_excercise development by creating an account on GitHub.

github.com