iterms2 를 사용중 한글파일 및 폴더명에 대해 TAB키를 이용한 자동완성이 되지 않는다. 이는 bash의 문제이며 현재 나와있는 4버전으로 업데이트 하면 해결할 수 있다는 반가운 소식에 따라 업데이트를 하기로 했다.

(참조: 설치방법 )


현재 bash의 버전을 확인.


> bash --version


GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin14)

Copyright (C) 2007 Free Software Foundation, Inc.


이곳에서 최신 버전을 다운로드 받을 수 있다.(현재 버전은 bash-4.3)



다운로드가 완료되면 압축을 해제하고 해당 폴더로 이동한다.


> cd ~/Downloads/

> tar xvzf bash-4.3.tar.gz

> cd bash-4.3

> ./configure && make && sudo make install


참고로 && 는 앞의 명령이 성공할시 다음 명령을 실행합니다. 반대로 실패 해야 다음명령을 진행하는 경우 || 를 사용합니다.

성공/실패와 상관없는 경우 ; 를 사용합니다.


  • cmd1 && cmd2
  • cmd1 || cmd2
  • cmd1 ; cmd2 ;


자동으로 설치가 진행이 됩니다. 설치가 모두 완료되고 나면 새로 설치한 shell 을 기본으로 사용하도록 설정 해 주어야 합니다.


> chsh -s /usr/local/bin/bash <사용자계정>


만약 자신의 계정명을 잘 모른다면 whoami 명령어를 사용해 보세요.


Changing shell for 계정명.

chsh: /usr/local/bin/bash: non-standard shell


쉘을 등록하기 위해 다음 명령을 수행합니다. 


> sudo bash -c "echo /usr/local/bin/bash >> /private/etc/shells"


여기까지 마무리 했다면 터미널을 종료하고 다시 연후 bash --version 으로 버전을 확인해 봅니다. 4.3 으로 나온다면 모두 정상적으로 진행이 된 것입니다. 이제 나머지 작업을 해 봅시다. /bin 폴더로 이동하여 기존의 bash 를 bash-old 라는 이름으로 백업한 후 새로 설치한 bash의 심볼릭 링크를 생성합니다.


> cd /bin

> sudo mv bash bash-old

> sudo ln -s /usr/local/bin/bash bash

> ls -al bash*


lrwxr-xr-x  bash@ -> /usr/local/bin/bash

-r-xr-xr-x  bash-old*


모든 작업이 마무리 되었습니다. 터미널을 종료하고 다시 시작하여 한글파일 및 폴더명을 입력하여 테스트 해보면 됩니다.


검색한 내용을 토대로 그대로 따라하며 한번에 성공한지라.. 혹시라도 오타라든가 실수를 했을경우 어떻게 되돌리는지는 잘 모르겠네요.. 그냥 /애도..

Posted by KENSIN
,

통합브랜치(Integration Branch)

언제든 배포 할수 있는 안정적인 상태의 브랜치. 보통 MASTER 를 통합브랜치로 사용한다.


토픽브랜치(Topic Branch)

통합브랜치에서 파생되는 단위 작업등을 위한 브랜치. 여러개 생성가능. 통합브랜치를 메인으로 하여 생성하고 작업이 완료 되면 다시 병합된다. 


A successful Git branching model



새로운 브랜치 생성


> git branch <브랜치명>


삭제 할경우는 -d 옵션을 사용


> git branch -d <브랜치명>


브랜치 목록 전체 확인


> git branch

  브랜치명

* master


아마 이전에 만든적이 없다면 위처럼 나올것이다. master 의 색이 다르고 * 표시가 있다.


remote 저장소의 branch 를 확인하려면 -r 옵션을 사용한다. 로컬과 원격 모두 확인하려면 -a 를 사용한다.


> git branch -r

> git branch -a


좀더 상세한 내역 및 추적상태나 push, pull 사용시 -u 옵션으로 저장된 매핑 상태등을 보기를 원한다면 다음 명령을 입력한다.


> git remote show origin


remote 저장소의 head 포인터 추적상태는 다음명령으로 확인 할 수 있다.


> git ls-remote --heads origin


사용할 브랜치를 선언 (checkout 사용) 한후 목록확인


> git checkout <브랜치명>

> git branch

* 브랜치명

   master


색과 * 표시가 변경되었다. ( HEAD 가 브랜치로 이동된다. )


아래처럼 b 옵션을 입력하면 생성함과 동시에 checkout 한다.


> git checkout -b <브랜치명>


파일의 수정후 master 로 이동하고, 병합을 해보자. (fast forward merge)


> git checkout master

> git merge <브랜치명>


파일의 충돌이 일어날 경우. 해당부분을 찾아 수정하고 다시 add, commit 해준다.


이전 커밋의 취소


> git reset --hard HEAD~


옵션에 따른 변경 여부

옵션

HEAD 위치

INDEX

작업트리

 soft

 O

 X

X

 mixed (기본)

 O

O

X

 hard

 O

O

O


** HEAD 를 사용하여 버전이동시

HEAD^ , HEAD~ , HEAD~1 등은 전단계

HEAD^^ , HEAD~2 등은 전전단계.. 로 사용할 수 있다.




Posted by KENSIN
,

SyntaxHighlighter

http://alexgorbatchev.com/SyntaxHighlighter/


<script type="text/javascript" src="./images/shCore.js"></script>
<script type="text/javascript" src="./images/shBrushBash.js"></script>
<script type="text/javascript" src="./images/shBrushCss.js"></script>
<script type="text/javascript" src="./images/shBrushGroovy.js"></script>
<script type="text/javascript" src="./images/shBrushJava.js"></script>
<script type="text/javascript" src="./images/shBrushJScript.js"></script>
<script type="text/javascript" src="./images/shBrushPerl.js"></script>
<script type="text/javascript" src="./images/shBrushPhp.js"></script>
<script type="text/javascript" src="./images/shBrushSql.js"></script>
<script type="text/javascript" src="./images/shBrushXml.js"></script>
<link href="./images/shCore.css" rel="stylesheet" type="text/css" />
<link href="./images/shThemeDefault.css" rel="stylesheet" type="text/css" />
<link href="./images/shThemeEclipse.css" rel="Stylesheet" type="text/css" />


<pre class="brush: java">

여기에 내용을 적는다.

brush 종류를 직접 지정해 줄 수 있다.

</pre>



Javascript code prettifier

https://code.google.com/p/google-code-prettify/


<pre class="prettyprint">

여기에 내용을 적는다.

자동으로 판단하여 스타일을 적용한다.

직접 지정도 가능하다. (ex :  prettyprint lang-html )

</pre>


Posted by KENSIN
,