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을 컬러로 출력하기