형상관리: 79개의 글
목록 설치하기 깃 전용 사용자 생성 깃 서버 SSH-KEY 생성 비밀번호 없이 접속이 가능하도록 SSH-KEY 등록 원격 저장소 만들기 보통은 github가 원격 git server 역할을 해주기 때문에 개인적으로 사용하는 경우에는 github를 많이 사용한다. 하지만 실제로 개발을 하려면 내부에 Git Server를 가지고 있어야 한다. 이번 포스팅에서는 CentOS (RedHat 계열) 을 기준으로 Git Server를 설치하는 과정을 설명할 것이다. 1) 깃 설치 # yum install -y git 2) 설치확인 # git --version 출처 : know-one-by-one.tistory.com/11
.gitignore파일에 대하여 IDE 같은 에디터를 이용하면 자동으로 생성되는 파일이 있습니다. 이클립스, MacVim등 또는 빌드시 생성되거나 운영시 생성되는 파일 등 레포지토리에서 관리될시 협업에 문제가 되는 경우도 있습니다. 이러한 파일을 무시할 수 있는 방법이 있는데 그것은 .gitignore파일을 이용하는 것입니다. 저장소에서 무시할 파일을 .gitignore파일에 추가하여 해당 .gitignore파일을 깃 프로젝트 루트 폴더에 저장하면 저장소에서 사라집니다. 또 .gitignore는 와일드 카드를 지원합니다. 예를들어 모든 .swp파일을 무시하고 싶다면 *.swp로 등록하면 됩니다. 헌데 php, android등 프로젝트 특성별로 무시해야할 파일들이 다르며 하나한 특성을 파악하여 추가하기에 ..
파일 개개별 원복 워킹트리의 수정된 파일을 index에 있는 것으로 원복 합니다. git checkout -- 파일 워킹트리의 수정된 파일을 index에 있는 것으로 원복 합니다. git checkout HEAD -- 파일명 워킹트리의 수정된 파일의 내용을 FETCH_HEAD에 있는 것으로 원복 합니다. merge(이 경우 –는 생략가능) git checkout FETCH_HEAD -- 파일명 INDEX추가 취소 해당 파일을 index에 추가한 것을 취소(unstage) 합니다. 워킹트리의 변경내용은 보존됩니다. (–mixed 가 default) git reset -- 파일명 위와 동일 합니다. git reset -- 파일명 COMMIT 취소 최종 커밋을 취소. 워킹트리는 보존됩니다. (커밋은 했으나 p..
태그 리스트 보기 git log 태그 생성하기 현재 포인터가 가르키는 브랜치에서 최근 리비전의 태그가 생성됩니다. git tag 태그명 태그로 포인터 이동 태그는 읽기 전용이다, 따라서 포인터를 이동시키면 읽기능 가능하나 쓰기가 불가능하며 목록 조회를 해보면 포인터가 no branch로 가있음이 표시됩니다. git checkout 태그명 현재 포인터가 가리키는 태그를 기준으로 브랜치 생성 git checkout -b 브랜치명 태그를 기준으로 브랜치 생성 git checout -b 브랜치명 태그명 태그 원격 저장소에 푸쉬하기 git push 원격저장소명 태그명 git push 원격저장소명 로컬브랜치명 –tags git push --tags 태그 삭제하기 git tag -d 태그명 출처: https://re..
원격브랜치 목록 조회 git branch -r 원격저장소 복제 git clone 원격저장소주소 원격저장소 브랜치 삭제 git push origin :membership_processing 원격저장소 브랜치 갱신 원격저장소의 변경사항 가져와서 원격브랜치를 갱신 합니다. git fetch 원격저장소 풀링 git fetch에서 하는 원격저장소의 변경사항을 가져와서 지역브랙치에 합치는 작업을 한꺼번에 한다. 파라미터로 풀링할 원격저장소와 반영할 지역브랜치를 줄 수 있습니다. git pull 원격저장소 푸싱 파라미터를 주지 않으면 origin 저장소에 푸싱하며 현재 지역브랜치와 같은 이름의 브랜치에 푸싱한다. –dry-run 옵션을 사용하면 푸싱된 변경사항을 확인할 수 있습니다. 로컬에서 tag를 달았을 경우에 ..
커밋로그 보기 전달인자 -1, -2,를 주어 출력수를 제한 할 수 있습니다. 전달인자 -p를 사용하여 변경된 내용을 같이 볼 수 있습니다. 전달인자 –graph를 사용하여 브랜치 트리를 볼 수 있습니다. git log 커밋로그 날짜범위 지정 전달인자 –since를 사용하여 원하는 시간 동안의 커밋로그를 볼 수 있습니다. 전달인자 –before를 사용하여 일정시간을 제외한 나머지 커밋로그를 볼 수 있습니다. 시간 형식은 24 hours, 1 minute, 2012.01.10, 2012-11-10등을 사용 가능합니다. git log --since="5 hours" git log --before="5 hours" 커밋로그 리비전 범위 지정 1. 전달인자 format:”%h %s”를 추가하여 짧은 해쉬와 커밋로..
브랜치 목록 조회 전달인자 -r을 사용하여 원격브랜치 조회 합니다. git branch *master 브랜치명 변경 전달인자 m은 이동을 의미 합니다. git branch -m master mymaster git branch *mybranch 브랜치명 강제 변경 브랜치명을 변경할때 이미 이름이 존재한다면 진행되지 않는데 -M의 명령어를 사용하면 덮어쓰기로 강제 진행됩니다. git branch -M master mymaster 새로운 브랜치 생성 git branch new git branch *master new 브랜치 체크아웃 git checkout new Switched to branch 'new' git branch master *new 새로운 브랜치 생성하고 체크아웃 git checkout -b 새..
태그를 이용하여 마일스톤 표시 프로젝트가 진행되면 마일스톤을 달성하게 됩니다. 마일스톤을 달성하면 릴리스를 배포하고, 새로운 버전을 생성하는 등의 작업을 합니다. 태그를 사용하면 마일스톤을 쉽게 표시할 수 있고 나중에 원하는 마일스톤으로 돌아갈 수 있습니다. 태그는 저장소의 책갈피처럼 동작합니다. 태그를 붙여두면 나중에 그 태그의 위치로 곧장 되돌아갈 수 있습니다. 필요하다면 커밋에도 태그를 붙일 수도 있습니다. 보통 태그는 프로젝트에서 코드를 릴리스할 때 가장 많이 사용한다 태그를 이용하면 릴리스한 후에도 버그 수정이나 변경이 필요할 경우 릴리스된 코드로 돌아갈 수 있습니다. git의 태그는 읽기 전용입니다. 읽기만 가능하다는 말은 브랜치와는 다르게 태그의 내용을 변경할 수 없음을 의미합니다. git에..
REMOTE 활용하기 git은 지역저장소로도 활용하기 좋지만 궁극적으로 프로젝트를 다른 사람과 함께 진행하기 위해서는 원격저장소를 두어야 합니다. github나 bitbucket을 활용하여 원격저장소 구축을 손 쉽게 할 수 있으므로 구축에 관한 자세한 설명은 생략하고 활용에 중점을 두겠습니다. 원격저장소 복제 다른 개발자와 작업을 공유한다는 말은 원격저장소가 필요함을 의미합니다. 원격저장소를 사용하는 가장 쉬운 방법은 존재하는 저장소를 복제하는 것입니다. 원격저장소를 복제하면 저장소의 지역 복사본이 생성 됩니다. git clone git://원격저장소 최신상태 유지하기 복제한 시점까지의 저장소 이력을 가져 올 수는 있지만, 복제한 이후에도 다른 개발자들은 여전히 변경 사항을 만들어 내고 저장소를 갱신합니..
LOG활용하기 모든 버전관리 시스템에서 가장 중요한 부분은 이력입니다. 저장소 이력을 잘 사용하면 원하는 정보를 얻을 수 있습니다. 파일 자체의 로그를 확인 할 수도 있고 코드 수정이력도 조회할 수 있습니다. 또한 파일의 리비전에 대한 차이점을 볼 수도 있습니다. GIT 로그 살펴보기 저장소에 어떤 변화가 있었는지 알려고 한다면 일반적으로 커밋로그를 살펴봅니다. git은 각 커밋의 로그를 누가, 언제 커밋했는지 보여줍니다. git log commit 5e5c78f555d71936ab7af768e0020107d3489116 Author: uyeong21c Date: Sat Oct 27 16:52:52 2012 +0900 add the selecton of an about page : 화면 하단의 콜론(:)..