SVN
SVN Checkout 과정으로 아래의 체크아웃 명령어를 통해 Repository가 정상적으로 설정되었는지 확인합니다
$ svn checkout svn://192.168.0.230/repos
SVN 서버를 구성할 디렉토리들을 아래의 명령어로 생성합니다.
$ svn mkdir svn://192.168.0.230/repos/branches
디렉터리 생성된 디렉터리의 구조를 확인합니다.
$ svn list svn://192.168.0.230/repos
SVN 서버 Repository에 관리할 프로젝트 소스를 올리기 위해 아래의 명령어를 입력합니다
$ svn import /home/test svn://192.168.0.230/repos/test
SVN 서버 Repository에 변경된 소스를 최선 버전으로 업데이트 후 변경된 로그를 확인합니다
$ svn update
$ svn log
Commit 명령으로 로컬 저장소의 변경된 내용을 SVN 서버로 전송합니다
$ svn commit [파일명] –m [로그로 남길 메세지]
SVN 무시할 파일/폴더 설정
Ignore file
svn propset svn:ignore "*.o" .
Ignore dir
svn propset svn:ignore tmp .
Ignore multiple files/dirs
svn propset svn:ignore -F svnignore.txt .
svn propset svn:ignore -F svnignore.txt .
svn propedit svn:ignore .
Find files that are not under version control
svn status | grep ^\? | awk '{print $2}'
명령 줄에서 여러 파일에 대해 svn : ignore 설정
- 따옴표를 연 다음 따옴표가 닫힐 때까지 명령 줄 자체에 개행 문자를 입력 할 수 있습니다
svn propset svn:ignore “first
second
third” .
svn prop 확인
$ svn proplist -v
svn 하위폴더 전체 프로퍼티 확인
$ svn propget -R svn:ignore .
svn 명령어
명령어 |
alias
|
svn add |
|
svn blame |
svn praise, annotate, ann
|
svn cat |
|
svn changelist |
svn cl
|
svn checkout |
svn co
|
svn cleanup |
|
svn commit |
svn ci
|
svn copy |
svn cp
|
svn delete |
svn del, remove, rm
|
svn diff |
svn di
|
svn export |
|
svn help |
svn h
|
svn import |
|
svn info |
|
svn list |
svn ls
|
svn lock |
|
svn log |
|
svn merge |
|
svn mergeinfo |
|
svn mkdir |
|
svn move |
svn mv, rename, ren
|
svn patch |
|
svn propdel |
svn pdel, pd
|
svn propedit |
svn pedit, pe
|
svn propget |
svn pget, pg
|
svn proplist |
svn plist, pl
|
svn propset |
svn pset, ps
|
svn relocate |
|
svn resolve |
|
svn resolved |
|
svn revert |
|
svn status ★★ |
svn stat, svn st
|
svn switch |
svn sw
|
svn unlock |
|
svn update |
svn up
|
svn upgrade |
|
FORK
central upstream
you repository master
local main , branch daekyu
git clone git@github.com:<username>/logispot.git
git remote add upstream https://github.com/Logispot/logispot.git
git remote add upstream https://github.com/daekyu-park/git2.git
git checkout -b daekyu
git checkout daekyu
git add *
git commit -m update
git push -u origin daekyu
git push origin daekyu
==> you repository branch 까지 전달
github) Pull Request
==> central request
manager) merge pull request
==> central merge
git fetch upstream // -> upstream/main
git checkout main
git merge upstream/main
==> local upstream 소스 반영됨
git checkout main
git push
==> you repository main 까지 전달
git 명령어
git init
git 로컬저장소 만들기
git remote add origin "경로"
원격저장소설정
ex) git remote add origin "https://github.com/dduruddung/dduruddung-repository.git"
git remote remove origin
원격저장소삭제
git checkout -b 브랜치명 (가져올브랜치명)
기본값: 현재브랜치에서 새로운브랜치생성하고 갈아탐
ex) git checkout -b newBranch
(가져올브랜치명) 추가시 가져올 브랜치에서 새로운 브랜치 생성하고 갈아탐
ex) git checkout -b newBtanch origin/master
git branch -l -a -r -D -m -v
옵션l: 로컬브랜치목록 (생략가능 git branch)
옵션a: 로컬+원격 브랜치목록
옵션r: 원격브랜치목록
옵션D 브랜치명: 로컬브랜치 삭제
ex) git branch -D branch1
옵션m 브랜치명 바꿀브랜치명: 브랜치 이름바꾸기
ex) git branch -m branch1 branch2
옵션v: 로컬브랜치목록+마지막커밋내역
git pull origin 원격브랜치명
원격브랜치에서 현재브랜치로 가져옴
ex) git pull origin master
git push origin 브랜치명
현재브랜치에서 원격저장소로 올림 브랜치가있다면 버전up, 브랜치가없다면 생성
ex) git push origin branch1
git commit -m "메세지"
변경파일 로컬에 커밋
ex) git commit -m "first commit!"
git checkout -t (git branch -r 했을때 가져올 브랜치명)
원격저장소에서 원격브랜치명으로 로컬브랜치생성
ex) git checkout -t origin/develop
git merge 브랜치명
현재브랜치에서 대상브랜치를 합침
ex) git merge master
git remote update
원격저장소를 업데이트
git log
현재브랜치의 commit 히스토리를볼수있음
git reset HEAD
직전의 commit을 취소하고 해당 파일들은 unstaged 상태로 워킹 디렉터리에 보존
gitk
git의 내장 GUI
git config color.ui true
콘솔에서 git output을 컬러로 출력하기