git 저장소의 도메인이 다른 경우 이사하고 싶은 경우가 있다.


기존에 사용하던 기존 환경(브랜치, pull, refs)과 동일하게 하고 싶다면, 


기존 저장소의 url을 사용해 git clone --mirror url 로 로컬로 다운받은 후, 


새로운 저장소에 push하면 된다.





git clone 방식은 3방식으로 우선 확인하면 명확하게 이해를 얻을 수 있다.


git clone url git_general


git clone --bare url git_bare


git clone --mirror url git_mirror






diff를 통해서 확인해보면 명확하게 이해할 수 있다. deep하게 모든 내용을 다운받는 것은 mirror 밖에 없다.



나머지에 대한 자세한 내용은 아래 링크를 참조한다.


http://pinocc.tistory.com/138

Posted by 김용환 '김용환'



atom 에디터의 장점은 mac command line에서 command 로 atom을 사용할 수 있다는 점인데.


vscode는 이게 없다. 



그러나,


.bash_rc 또는 .bash_profile에


 alias code='open $@ -a "Visual Studio Code"' 를 추가하면 비슷한 기능이 된다.



Posted by 김용환 '김용환'



Squirrel SQL 클라이트 툴에 

https://acadgild.com/blog/squirrel-gui-phoenix


MACOS에서 Squirrel SQL을 설치했지만 실행이 되지 않는다. 아마도 path 이슈일 것 같다.





간단히 해결한 방법은 다음과 같다.


먼저 설치 jar로 설치하고 디폴트 설치 위치로 /Applications/SQuirreLSQL.app/에 두게 한다.




alias squirrel='/Applications/SQuirreLSQL.app/Contents/MacOS/squirrel-sql.sh'


mkdir -p /Applications/SQuirreLSQL.app/Contents/MacOS/lib/


cp /Applications/SQuirreLSQL.app/Contents/Resources/Java/lib/* /Applications/SQuirreLSQL.app/Contents/MacOS/lib/


cp /Applications/SQuirreLSQL.app/Contents/Resources/Java/squirrel-sql.jar  /Applications/SQuirreLSQL.app/Contents/MacOS/




squirrel을 실행하면 클라이언트 툴이 실행된다.



Posted by 김용환 '김용환'


pull requst할 때 자주 발생할 수 있는 것으로


원격 리모트의 새로운 브랜치가 추가되었고 이를 기반으로 pull request를 하려고 그냥 브랜치를 받고 pr하면 history가 꼬인다.


따라서 pr할 원격 리모트와 연결한 후 git checkout 받고 자신의 저장소에 push한다.


$ git checkout -b dev real/dev

$ git push origin dev





상황에 따라 upstream을 수동으로 연동해야 할 수도 있다.


$ git branch --set-upstream-to origin/dev

Posted by 김용환 '김용환'


zip은 표준을 지키기 때문에 분할 압축 기능을 지원하지 않는다.

그러나 7zip은 압축도 좋고 분할 압축이 가능하다.



mac OS에서 brew를 통해 7zip을 다운받는다.



$ brew update


$ brew install p7zip



zip -9 (압축률 최고) 보다 7zip이 더 압축률이 좋다. 



압축 / 해지 방법


$ 7z a rating.zip rating.csv


$ 7z x rating.zip



500메가 텍스트 파일을 압축할 때,

zip으로 압축하면 130메가 짜리 압축 파일을..

7zip으로 압축하면 80메가 짜리 찹축 파일을 생성한다.




압축 파일을 용량 단위로 분할 압축할 수 있다. 단점은 하나의 파일로 압축하는 것보다 용량이 더 커질 수 있다는 단점이 있다. 




예)


$ 7z a ratings.zip ratings.csv -v50m


-rw-r--r--    1 samuel.kim  staff   52428800 10 18 19:43 ratings.zip.001

-rw-r--r--    1 samuel.kim  staff   52428800 10 18 19:43 ratings.zip.002

-rw-r--r--    1 samuel.kim  staff    2845551 10 18 19:43 ratings.zip.003




Posted by 김용환 '김용환'


검색버튼을 눌러 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 김용환 '김용환'