검색버튼을 눌러 powershell을 찾는다.


powershell을 바로 실행하지 않고 powershell 아이콘 위에서 오른쪽 마우스 클릭하고  



"Run as Administrator"을 실행한다.

Posted by 김용환 '김용환'




commit/push한 local repository를 하나 뒤로 돌려서 수정하고 다시 commit/push할 때 유용하다.



$ git reset HEAD^  


코드 작업 


$ git add


$ git commit -m "이전 이름 커밋 메시지"



강제 리버트하고. 기존 히스토리 안남게 한다.


$ git push origin +master 


Posted by 김용환 '김용환'


grafana 웹에서 버전을 확인하고 싶다면..


datasources 메뉴의 맨 마지막 라인을 버전을 확인할 수 있다. 앗.. 불편..








Posted by 김용환 '김용환'


테스크 코드를 실행할 때 자바/스칼라 메모리가 부족할 수 있다.


sbt의 경우에는 아래와 같이 사용할 수 있다.


javaOptions ++= Seq("-Xms512M", "-Xmx2048M", "-XX:MaxPermSize=2048M", "-XX:+CMSClassUnloadingEnabled")




메이븐(maven)의 경우는 3가지 방식으로 사용할 수 있다 .(아래 참조)
https://maven.apache.org/configure.html


주로는 다음과 같은 방식을 사용한다.

export MAVEN_OPTS="-Xms512M -Xmx32048M"











Posted by 김용환 '김용환'



기존 로컬 브랜치를 리모트를 새로운 브랜치로 생성하고 푸시된 기존 브랜치는 삭제하는 예이다. 




$ git branch -m features/bug_fix GOOGLE-539_bug_fix



$ git push --set-upstream origin GOOGLE-539_bug_fix

Total 0 (delta 0), reused 0 (delta 0)

To https://github.com/samuel-kim/google-search.git

 * [new branch]      GOOGLE-539_bug_fix -> GOOGLE-539_bug_fix

Branch GOOGLE-539_bug_fixset up to track remote branch GOOGLE-539_bug_fix from origin.



삭제할 때는 push origin  다음에 삭제할 브랜치 앞에 :을 추가해야 한다.


$ git push origin :features/bug_fix

To https://github.com/samuel-kim/google-search.git

 - [deleted]         bug_fix



Posted by 김용환 '김용환'

[git] 공커밋

etc tools 2017.11.10 15:42



github 페이지가 잘 동작하다가 404 에러가 나는 경우가 있다. 

이 때는 공 커밋을 하나 날리고 push하면 된다. 


$ git commit -m 'rebuild pages' —allow-empty

$ git push




Posted by 김용환 '김용환'



사용자 정의 maven jar를 사내 repository으로 업로드해야 할 떄 pom.xml을 굳이 고칠 필요가 없다. 간단히 아래와 같은 예제로 실행하면 사내 repository에 업로드(deploy)할 수 있다. 



$ mvn package 

// 성공


$ ls target/original-phoenix-0.0.1-SNAPSHOT.jar

original-phoenix-0.0.1-SNAPSHOT.jar



$ mvn -X deploy:deploy-file -DgroupId=com.google.phoenix -DartifactId=phoenix-core -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar -Dfile=target/original-phoenix-0.0.1-SNAPSHOT.jar -Durl=http://maven.google.com/content/repositories/phoenix-snapshot



다음 주소에 확인하면 잘 올라갔는지 볼 수 있다 .


http://maven.google.com/content/repositories/phoenix-snapshot/com/google/phoenix/phoenix-core/0.0.1-SNAPSHOT/maven-metadata.xml



Posted by 김용환 '김용환'

intellij에서 scala App을 실행할 때 다음과 같은 에러가 발생할 수 있다. 


Error: scala: No 'scala-library*.jar' in Scala compiler library in test



Open File -> Project Structures -> Libraries(또는 맥이라면 cmd + ;를 누름) 화면에서 scala sdk를 삭제한다. 


그리고 코드 화면으로 넘어가면 scala setup을 해야 한다는 경고창이 코드 뷰 상단에 뜨는데. scala setup 버튼을 누르면 잘 동작한다. 



이렇게 잘 안되면..


Open File -> Project Structures -> Libraries(또는 맥이라면 cmd + ;를 누름) 화면에서 scala sdk를 삭제하고 +를 눌러 수동으로 scala sdk를 선택한다.



### 추가 2017.11

그래도 안되면...버그다.



build.properties에 보니 sbt.version=1.0.2로 되어 있다.

검색해보니. sbt 버그였나 보다.


https://github.com/sbt/sbt/issues/3560

https://youtrack.jetbrains.com/issue/SCL-12591


sbt를 1.0.3으로 변경하고 build.properties의 sbt.version을 1.0.3으로 수정하니 문제가 발생하지 않는다. (또는 0.13.16으로 변경해야 할듯..)


Posted by 김용환 '김용환'


intellij에서 sbt 컴파일 중에 에러가 발생했다. 


[error] java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: sbt/internal/librarymanagement/GetClassifiersModule



최신 버전으로 intellij를 업데이트하면 문제가 해결된다.

Posted by 김용환 '김용환'


3개의 커밋을 하나로 합쳐본다.



$ git log --pretty=oneline

aae3f8afa5c7e97d8974525994f100b93258baf3 commit 3

2c24df186d7b779a87882e0968503fb019866d62 commit 2

ae08eead7cf187b85fd73d5a2ceb3f0a256c99b1 commit 1


3번 commit/push했고 이를 하나의 commit 메시지로 만들고 싶을 때 사용할 수 있는 git 커맨드를 소개한다. 



최신 3개의 commit을 rebase로 하나로 합쳐 본다. -i는 대화형 모드를 의미한다. 


$ git rebase -i HEAD~3

  

pick ae08eea commit 1

pick 2c24df1 commit 2

pick aae3f8a commit 3


# Rebase acf9816..aae3f8a onto acf9816 (3 command(s))

#

# Commands:

# p, pick = use commit

# r, reword = use commit, but edit the commit message

# e, edit = use commit, but stop for amending

# s, squash = use commit, but meld into previous commit

# f, fixup = like "squash", but discard this commit's log message

# x, exec = run command (the rest of the line) using shell

# d, drop = remove commit

#




아래와 같이 수정한다. 

commit 1은 그대로. commit 2와 commit 3의 pick을 squash또는 s로 변경한다. 


pick ae08eea commit 1

squash 2c24df1 commit 2

squash aae3f8a commit 3


# Rebase acf9816..aae3f8a onto acf9816 (3 command(s))

#

# Commands:

# p, pick = use commit

# r, reword = use commit, but edit the commit message

# e, edit = use commit, but stop for amending

# s, squash = use commit, but meld into previous commit

# f, fixup = like "squash", but discard this commit's log message

# x, exec = run command (the rest of the line) using shell

# d, drop = remove commit

#


저장하고 종료하면 squash 화면이 나타난다. 

여기에서 commit1 앞에 REDIS-1을 추가해본다. 


다음 화면이 나타나고 쉘로 나온다. 



 3 files changed, 0 insertions(+), 0 deletions(-)

 create mode 100644 1

 create mode 100644 2

 create mode 100644 3

Successfully rebased and updated refs/heads/master.



3개의 commit이 하나의 commit으로 나타난다. 


$ git log --pretty=oneline

7dca124e20dea4a4248be52eae50081580ac329d REDIS-1 commit 1

acf9816e316d960df3a99c6bb9c0ee40ac31dee0 Initial commit



해당 commit을 확인해보면 commit 1, commit 2, commit 3 모두 존재한다.


$ git log -p 1

commit 7dca124e20dea4a4248be52eae50081580ac329d

Author: knight76@gmail.com

Date:   Tue Oct 24 19:27:43 2017 +0900


    REDIS-1 commit 1


    commit 2


    commit 3


diff --git a/1 b/1

new file mode 100644

index 0000000..e69de29




이미 remote repository에 저장했기 때문에 git push --force를 실행해서 서버에도 반영한다.






만약, push를 하지 않은 상태라면 git reset --soft HEAD~3 커맨드를 사용하면 된다. 



$ git log --pretty=oneline

13a9d0da6ebf8f0ab2d78761cd26bad3136c5cec commit 3

628a2b89c35e134aeccd0e26dc90dc78575f2493 commit 2

e8630d725e97f8f11e8036d303abe4812f956dea commit 1

acf9816e316d960df3a99c6bb9c0ee40ac31dee0 Initial commit


$ git reset --soft HEAD~3


$ git status

On branch master

Your branch is up-to-date with 'origin/master'.

Changes to be committed:

  (use "git reset HEAD <file>..." to unstage)


new file:   1

new file:   2

new file:   3


$ git log --pretty=oneline

acf9816e316d960df3a99c6bb9c0ee40ac31dee0 Initial commit


$ git add .

$ git commit -m 'REDIS-1 commit 1'

[master a3eaa44] REDIS-1 commit 1

 3 files changed, 0 insertions(+), 0 deletions(-)

 create mode 100644 1

 create mode 100644 2

 create mode 100644 3

$ git push


Posted by 김용환 '김용환'