본문 바로가기

프로그래밍 놀이터1942

[도서 정리] 13. Git 명령어 - ProGit [도서 정리] 13. Git 명령어 - ProGit 13.1. 설치와 설정 * git config * git help -$ git help 13.2. 프로젝트 가져오기와 생성하기 * git init * git clone 13.3. 스냅샷 다루기 * git add * git status * git diff * git difftool * git commit * git reset * git rm * git mv * git clean 12.4. Branch 와 Merge * git branch * git checkout * git merge * git mergetool * git log * git stash * git tag 12.5. 공유하고 업데이트하기 * git fetch * git pull * git p.. 2020. 1. 18.
[도서 정리] 12. 앱에 git 넣기 - ProGit [도서 정리] 12. 앱에 git 넣기 - ProGit -Libgit2 를 사용하거나 jgit 을 사용한다. 12.1. Git 명령어 -셸 프로세스를 띄우고(spawn) git 명령어를 실행하는 방법이 있다.이게 가장 표준적인 방법으로 git 의 모든 기능을 사용할 수 있다.그러나 몇 가지 제약사항이 있다. 첫째는 결과가 텍스트로 출력된다.git 이 상황에 따라 다르게 출력하는 결과를 파싱해야 한다. 둘째는 에러 처리가 어렵다.저장소가 깨져있거나 사용자가 잘못 설정했을 때 git 은 그냥 제대로 실행되지 않을 뿐이다. 마지막으로 프로세스를 관리해야 한다. 12.2. Libgit2 -libgit2 는 git 에 의존하지 않는다. * 고급 기능 -libgit2 로 git 을 확장하는 일도 가능하다.libgi.. 2020. 1. 17.
[도서 정리] 11. 다양한 환경에서 Git 사용하기 - ProGit [도서 정리] 11. 다양한 환경에서 Git 사용하기 - ProGit 11.1. GUI * gitk 와 git-gui -git 을 설치하면 gitk 와 git-gui 도 같이 설치된다. -gitk 는 히스토리를 그래프로 보여준다.git log 와 git grep 을 합쳐놓은 GUI 도구라고 보면 된다.$ gitk [git log options] -git-gui 는 꼼꼼하게 커밋하는데 사용하는 커밋 도구다.$ git gui * GitHub 클라이언트 -mac 용과 윈도우용이 있다. * 다른 GUI 도구들 11.2. Visual Studio -Visual Studio 2013 Update 1 부터 git 클라가 visual studio 에 들어갔다. 11.3. Eclipse -Egit 이라는 플러그인이 있다.. 2020. 1. 16.
[도서 정리] 10. Git 의 내부 - ProGit [도서 정리] 10. Git 의 내부 - ProGit -git 이 얼마나 유연하고 강력한지 이해하려면 이 장의 내용을 꼭 알아야 한다. -git 은 기본적으로 content-addressable 파일 시스템이고, 그 위에 vcs 사용자 인터페이스가 있는 구조다.git 초기에는 사용자 인터페이스가 훨씬 복잡했었다.VCS 가 아니라 파일 시스템을 강조했었기 때문이다. 10.1. Plumbing 명령과 Porcelain 명령 -매우 많은 저수준 명령어로 구성돼 있고 이 명령어들을 유닉스 스타일로 엮어서 실행하거나 스크립트로 만들어 사용하도록 설계되었다.이런 저수준 명령어는 Plumbing 명령어라 부르고, 좀 더 사용자에게 친숙한 사용자용 명령어는 Porcelain 명령어라고 부른다. -Plumbing 명령어.. 2020. 1. 15.
[도서 정리] 9. Git 과 여타 버전 관리 시스템 - ProGit [도서 정리] 9. Git 과 여타 버전 관리 시스템 - ProGit 9.1. Git: 범용 Client * Git 과 Subversion -git 이 자랑하는 또 하나의 기능은 git svn 이라는 양방향 subversion 지원 도구이다.git 을 subversion 클라로 사용할 수 있으므로 로컬에서는 git 의 기능을 활용하고 push 할 때는 subversion 서버에 push 할 수 있다. -git 과 subversion 을 이어주는 명령은 git svn 으로 시작한다.우리가 로컬 브랜치와 머지를 맘대로 쓸 수 있다 하더라도 최대한 일직선으로 히스토리를 유지하는 게 좋다.git 저장소처럼 사용하지 않기 때문이다.히스토리를 재작성해서 push 하지 말아야 한다. git 을 사용하는 동료들끼리 따.. 2020. 1. 14.
[도서 정리] 8. Git 맞춤 - ProGit [도서 정리] 8. Git 맞춤 - ProGit 8.1. GIt 설정하기 -git 은 내장된 기본 규칙을 따르지만 설정된 것이 있으면 그에 따른다. git 은 먼저 /etc/gitconfig 파일을 찾는다.이 파일은 시스템에 있는 모든 사용자와 모든 저장소에 적용되는 설정 파일이다.git config —system 을 이용하면 이 파일을 사용한다. 다음으로 ~/.gitconfig 파일을 찾는다.이 파일은 해당 사용자에게만 적용되는 설정파일이다.—global 옵션을 주면 git 은 이 파일을 사용한다. 마지막으로 현재 작업중인 저장소의 git 디렉터리에 있는 .git/config 파일을 찾는다.이 파일은 해당 저장소에만 적용된다. -각 설정 파일에 중복된 설정이 있으면 순서대로 덮어쓴다.즉 .git/con.. 2020. 1. 13.
[도서 정리] 7. Git 도구 #2 - ProGit [도서 정리] 7. Git 도구 #2 - ProGit 7.7. Reset 명확히 알고 가기 * 세 개의 트리 -git 은 일반적으로 세 가지 트리를 관리하는 시스템이다. HEAD : 마지막 커밋 스냅샷, 다음 커밋의 부모 커밋Index :다음에 커밋할 스냅샷워킹 디렉터리 : 샌드박스 -HEAD 는 현재 브랜치를 가리키는 포인터이며, 브랜치는 브랜치에 담긴 커밋 중 가장 마지막 커밋을 가리킨다.지금의 HEAD 가 가리키는 커밋은 바로 다음 커밋의 부모가 된다.단순히 생각하면 HEAD 는 마지막 커밋의 스냅샷이다. -HEAD 스냅샷의 디렉터리 리스팅과 각 파일의 SHA-1 체크섬을 보려면 아래와 같이 한다.$ git cat-file -p HED$ git ls-tree -r HEAD cat-file 과 ls-.. 2020. 1. 12.
[도서 정리] 7. Git 도구 #1 - ProGit [도서 정리] 7. Git 도구 #1 - ProGit 7.1. 리비전 조회하기 * 리비전 하나 가리키기 * SHA-1 줄여 쓰기 -Git 은 해시값의 앞 몇 글자만으로도 어떤 커밋인지 충분히 식별할 수 있다.중복되지 않으면 해시값의 앞 4자만으로도 나타낼 수 있다. -git show [part_of_hash] 로 특정 커밋을 조회할 수 있다.$ git show -git log 명령에 —abbrev-commit 이라는 옵션을 추가하면 짧고 중복되지 않는 해시값을 보여준다.기본으로 7자를 보여주고 해시값이 중복되는 경우 더 긴 해시값을 보여준다.보통은 8자에서 10자 내외로도 충분히 유일하게 커밋을 나타낼 수 있다. -참고로 리눅스 커널은 45만 개 이상의 커밋, 360만 개 이상의 오브젝트가 있지만, 해시.. 2020. 1. 11.
[도서 정리] 6. GitHub - ProGit 6. GitHub - ProGit -GitHub은 가장 큰 git 저장소 호스트이다. 6.1. 계정 만들고 설정하기 * SSH 사용하기 -https:// 프로토콜로도 git 저장소를 사용하는데 부족함이 없다.간단히 사용자 이름과 암호로 인증만 하면 된다.공개 프로젝트를 clone 하는 데는 인증도 필요 없다.그러나 프로젝트를 fork 하고 그 프로젝트에 push 할 때면 SSH 가 필요하다. -SSH 리모트를 쓰려면 공개키를 설정해야 한다. * 아바타 * 사용자 이메일 주소 * 투팩터 인증 (Two Factor Authentication) -2FA 는 최근 들어 인기가 높아지는 인증 매커니즘이다.암호를 도둑맞았을 때 위험을 완화하기 위해 사용한다.인증 수단을 2가지 사용하며, 둘 중 한 가지 방법만 뚫어.. 2020. 1. 10.