목록분류 전체보기 (109)
나의 지식 보관소
브랜치란 원래의 코드에서 분리하여 독립적으로 어떤 작업을 진행할수있게 해주는 개념이다. 새 브랜치 생성하기 브랜치를 생성하는 방법은 아래와 같이 git branch 명령으로 할 수 있다. $ git branch test 를 실행해보면 그림과 같이 test라는 새로운 브랜치가 생성되고 작업하고 있던 마지막 커밋을 가리키게 된다. 여기서 master 브랜치는 처음 자동으로 생성되는 브랜치이고, 동그라미로 표시된것은 생성된 커밋들이다. 그리고 HEAD라는 지금 작업중인 브랜치를 가리키는 특별한 포인터가 master 브랜치를 가리키고 있다. 브랜치 이동하기 지금 HEAD가 master를 가리키고 있으므로 test브랜치에서 작업하기 위해서는 HEAD를 옮겨 주어야한다. 아래와 같이 git checkout 명령으로..
bash에서 큰따옴표와 작은 따옴표의 차이점은 변수를 보간해주느냐 아니냐에 달렸다. $ a=12 $ echo "$a" 를 실행하면 a가 가지고 있는 값인 "12"를 출력해주지만, $ a=12 $ echo '$a' 를 실행하면 문자 그대로 "$a"를 출력한다.
Alias는 별명이라는 뜻으로, Git Alias를 사용하면 Git 명령어에 새로운 별명을 붙여줄 수 있다. 사용하는 방법은 다음과 같다. $ git config --global alias. 예를 들어 파일을 Unstaged 상태로 변경하는 명령을 만들기 위해서는 아래와 같이 사용하면된다. $ git config --global alias.unstage 'reset HEAD --' 또한 !를 명령 제일 앞에 추가하면 외부 명령어도 실행할 수 있다. $ git config --global alias.clear '!clear' 이로써 clear 명령은 앞으로 git clear로 실행이 가능하다.
태그 조회하기 Tag란 Git에서 커밋을 참조하기 쉽도록 알기 쉬운 이름을 붙이는 것을 말한다. $ git tag 명령으로 만들어진 모든 태그를 확인할 수있다. 만약 검색 패턴을 사용하여 태그를 검색하고 싶다면 -l 또는 --list 옵션을 사용하면 된다. $ git tag -l "검색 패턴" 태그의 종류 Git의 태그는 Lightweight 태그와 Annotated 태그 두 종류가 있다. Lightweight 태그는 브랜치와 비슷하지만 브랜치처럼 가리키는 지점을 최신 커밋으로 이동시키지는 않는다. 단순히 특정 커밋에 대한 포인터일 뿐이다. 한편 Annotated 태그는 Git 데이터베이스에 태그를 만든 사람의 이름, 이메일과 태그를 만든 날짜, 그리고 태그 메세지도 저장한다. 또 GPG(GNU Priv..
리모트 저장소란 흔히 인터넷이나 네트워크에 존재하는 저장소를 말한다. 리모트 저장소 확인하기 $ git remote 명령으로 현재 프로젝트에 등록된 리모트 저장소를 확인할 수 있다. 만약 저장소를 Clone했다면 'origin'이라는 리모트가 자동으로 등록되어있을 것이다. -v 옵션으로 URL도 함께 확인할 수 있다. 리모트 저장소 추가하기 기존 워킹 디렉토리에 새 리모트 저장소를 추가하기 위해서는 $ git remote add 명령을 사용하면 된다. 리모트 저장소에서 데이터 가져오기 리모트 저장소에서 데이터를 가져오기 위해서는 Pull이나 Fetch 명령을 사용하면 된다. $ git fetch 명령은 로컬에는 없지만, 리모트 저장소에는 있는 데이터를 모두 가져온다. 단 자동으로 merge 해주지 않기 ..
$ git commit --amend 완료한 커밋을 수정하기위해 다시커밋하고 싶으면 파일 수정작업을 하고 Staging Area에 추가한 다음 --amend 옵션을 사용해서 커밋을 재작성 할 수 있다. 예를들어 방금 커밋을 했는데 실수로 빼먹은 파일이 있으면 아래와 같이 고칠수 있다. $ git commit -m 'initial commit' $ git add forgotten_file $ git commit --amend 이 명령은 Staging Area를 사용하여 커밋하기 때문에 마지막 커밋이후 수정한것이 없다면 조금전 커밋과 모든것이 같고 커밋 메세지만 수정된다. 또한 이전 커밋을 완전히 고쳐서 새 커밋으로 "변경"하는것이기 때문에 이전 커밋은 없던 일이 되어서 히스토리에서도 지워진다. 파일의 상태..
Git을 사용하다가 저장소의 히스토리를 보고 싶다면 $ git log 명령을 실행하면 된다. 또한 $ git log 는 원하는 히스토리를 검색할 수 있도록 다양한 옵션을 지원한다. 옵션 설명 -p 각 커밋에 적용된 패치를 보여준다. --stat 각 커밋에서 수정된 파일의 통계정보를 보여준다. --shortstat --state 명령의 결과 중에서 수정한 파일, 추가된 라인, 삭제된 라인만 보여준다. --name-only 커밋 정보중에서 수정된 파일의 목록만 보여준다. --name-status 수정된 파일의 목록을 보여줄 뿐만 아니라 파일을 추가한 것인지, 수정한 것인지, 삭제한 것인지도 보여준다. --abbrev-commit 40자 짜리 SHA-1 체크섬을 전부 보여주는 것이 아니라 처음 몇 자만 보여준..
제네릭은 내부에서 사용할 데이터 형식을 외부에서 결정하도록 하는 기법이다. 이런 방식을 사용하면 같은 역할을 하지만 값의 형식이 달라서 여러 개로 만들어야만 했던 클래스나 메서드들을 하나로 일반화할 수 있다. 제네릭 메서드 제네릭 메서드는 메서드내에서 사용할 데이터 형식을 외부에서 결정하도록 한 메서드이고, 아래와 같이 선언한다. 1 2 3 4 한정자 반환형식 메서드이름 ( 매개 변수 목록 ) { //... } 호출할땐 아래와 같이 사용하면 된다. 1 메서드이름 ( 넘겨줄 인자들 ); 즉 아래와 같이 선언하고 사용할 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 class Program { static void Main() { TestClass.test(1); } } clas..