170403_TIL
03 Apr 2017 | TIL오늘 할 일 (계획)
오늘 한 일 (회고)
- 패스트캠퍼스 컴퓨터공학 입문 수업을 듣고 강의노트를 정리했다.
- lambda, map, filter, reduce, dictionary
- AskDjango
- 장고 form html 꾸미기
- Message Framework
- vimtutor 연습
생활코딩-git 수업을 듣고 중요 내용을 정리합니다.
여기서는 git이 가져온 혁신인 branch를 다룹니다. branch는 가지라는 뜻으로 작업을 분기해서 처리하는 경우에 대한 시적인 표현입니다. git이 가져온 혁신은 그 동안 개념적으로는 존재했지만 실제로는 잘 사용하지 않던 branch를 사용할만한 상태까지 끌어올린 점에 있습니다. 본 수업의 하위에서는 branch에 대해서 다룹니다.
❯ git branch
* master
❯ git branch exp
❯ git branch
exp
* master # 현재 사용중이 브랜치
❯ git checkout exp
Switched to branch 'exp'
❯ git branch
* exp
master
git checkout -b "생성하고 전환할 브랜치 이름"
❯ git checkout -b "exp2"
Switched to a new branch 'exp2'
git branch -d
❯ git branch -d exp2
Deleted branch exp2 (was db667dd).
git branch -D
❯ git branch -D 'exp3'
Deleted branch exp3 (was db667dd).
생활코딩-git 수업을 듣고 중요 내용을 정리합니다.
본 수업의 하위 수업에서는 지금까지 배운 기능들이 내부적으로는 어떻게 동작하는가를 알아보면서 git의 원리를 살펴보겠습니다. 원리가 중요한 이유를 저는 크게 3가지로 구분해봤습니다.
원리에 대한 궁금증은 인간의 본능이라고 생각합니다. 종종 어떤 원리들은 그것이 원리이기 때문에 어려울 것이라고 오해를 받습니다. 하지만 많은 원리들이 실제로는 어렵지 않습니다. 또 어떤 공부들은 원리를 모르면 공부하는데 10시간이 걸리는데 조금 지나면 잊어버리는 것이 있습니다. 반면에, 1시간동안 원리를 배우면 공부하는데 3시간 밖에 걸리지 않고, 훨씬 오래 기억되기도 합니다. 지금부터 배울 원리는 이런 것입니다. git이 동작하는 원리를 알면 우리도 git과 같은 것을 배울 수 있습니다. git의 명령어만 배우면 단지 git의 사용자가 될 뿐입니다. 하지만 원리를 배우면 우리도 무엇인가를 만드는데 큰 영감을 얻을 수 있습니다. 물론, 이 수업은 필수가 아니기 때문에 어렵게 느껴지신다면 원리를 건너뛰고 공부하시길 권합니다.
gistory는 git을 분석하기 위한 도구입니다. 명령을 내렸을 때 git의 내부에서는 어떤 일이 일어나는가를 분석하면서 git이 어떻게 동작하는가를 스스로 공부하는데 도움을 드리기 위해서 고안된 도구입니다.
#python3
pip3 install gistory #python3 사용시
git은 파일의 내용 기반으로 object 파일의 이름을 만듭니다. 이것 덕분에 git은 매우 효율적으로 중복 데이터를 저장할 수 있습니다. 여기는 그 원리인 sha1 hash에 대해서 알아봅니다.
같은 오브젝트
를 가르킨다.commit을 했을 때 내부적으로는 어떤 일이 일어나는가를 알아봅니다.
자바
라는걸 알게되었다. 인프런에서 정호영님의 장고 수업을 들으면서 하반기에 직접 장고를 배울 수 있을까 기대했는데 자바
라니..혼란스럽다ㅠㅠ 파이썬/장고 - 자바/스프링 - 스위프트 셋 중에 무엇을 할지 다시 고민이 시작되었구나.
git을 사용할 때는 동작하는 최소 단위로 add, commit, push를 진행해야 한다고 배웠다. 따라서 미니 프로젝트를 진행할 때 자주 git diff
를 통해서 변경사항을 확인하고 commit 메시지에 해당 변경 사항을 입력한다.
git은 기본으로 pager
라는 것을 사용해서 git log, git diff의 결과 화면을 shell에 표시하는데, :q를 통해서 종료하면 명령창으로 다시 돌아와 내용을 더이상 확인할 수 없는 불편함이 있었다.
git diff 내용을 확인하면서 commit 메시지를 좀 더 편하게 작성하고 싶어서 검색해보니, 기본 설정인 pager
를 cat
으로 변경하는 것으로 해결이 가능하다고 한다. Leave git diff result in the terminal 설정 명령은 아래와 같다.
$ git config --global core.pager cat
이제 더 편하게 git commit 메시지를 작성할 수 있다!
참고로 내가 사용하고 있는 환경은 아래와 같다
(추가) ~/.zshrc에 적용한 git alias
# custom alias 추가
alias gs="git status"
alias gd="git diff"
alias ga="git add"
alias gc="git commit"
alias gp="git push origin master"