실습을 따라해보니 조금 감이 잡히는 듯..

일단 브랜치 간에는 commit 되지 않은 수정이 사항이 있을때에는 이동이 불가하다

$ git st -s

 M myfile.txt


$ git checkout issue1

error: Your local changes to the following files would be overwritten by checkout:

        myfile.txt

Please commit your changes or stash them before you switch branches.

Aborting 


git merge는 합병할 다른 브랜치를 "끌어온다"

즉, master에 다른 브랜치를 합치려면 master에서 다른 브랜치를 끌어와야 한다.

$ git merge 다른브랜치이름 

[링크 : https://backlog.com/git-tutorial/kr/stepup/stepup1_1.html]


+

svn과 다른 점이라고 하면..

일단 svn은 다른 경로의 것을 checkout 받거나, 새로운 경로에 받아서 쓰는 개념이라면

git은 현재 저장소에서 다른 경로의 것을 내부적으로 관리하여 오간다는 개념?



+

브랜치 따서 commit 하고 push 하려는데 에러 발생!

$ git push

fatal: The current branch test has no upstream branch.

To push the current branch and set the remote as upstream, use


    git push --set-upstream origin test 


svn과 다르게 git는 저장소에 다가 branch에 올린다고 알려주어야 하는 듯

(어짜피 svn에서 tags나 branch도 폴더니까 별 의미없었지만) 어떤 의미로는... cvs에 좀 더 가까운 느낌?


로컬 저장소에서 변경된 사항들을 리모트 저장소에 반영할 때에는 push 명령어를 통해 할 수 있는데 처음 push를 할 경우 해당 로컬 브랜치가 어느 리모트 브랜치에 push해야하는지 알려줘야 한다. 

[링크 : https://lee-seul.github.io/git/2017/01/27/git-for-team-teams-of-one.html]

'프로그램 사용 > Version Control' 카테고리의 다른 글

git archive (svn export)  (0) 2018.09.05
git rm 복구하기  (0) 2018.08.22
git add / reset / checkout  (0) 2018.08.22
git 커밋이 안될 때? (no changes added to commit)  (0) 2018.08.20
git st (alias 사용하기)  (0) 2018.08.14
Posted by 구차니