Post

Git Branch

[ 이전게시판/Git ] 2018. 10. 12. 22:21
반응형

Git Branch 사용법

원격저장소(Remote)


인터넷, 네트워크에 연결되어있는 저장소. 로컬 저장소와 원격저장소를 연결해서 소스코드를 백업할 수 있다.

SourceTree 메뉴에서 Repository - Add Remote 클릭.
일단 SSH말고 Http로 연결하려고 한다. URL/Path에 git 저장소 주소를 넣는다.
기본 저장소라는 의미로 Default remote를 체크한다.

원격저장소로 소스코드 올리기(Push)


Push를 누르면 로컬에 있는 파일이 올라간다.

만약 여기서 
nvalid username or password Sourcetree,
Updates were rejected because the tip of your current branch is behind
에러가 발생한다면 http://dramadramingdays.tistory.com/126 글을 참고한다.

원격저장소로 업로드


수정사항을 Commit 하면 Push에 1이 뜬다.

원격저장소와 local저장소가 하나의 차이가 있다는 뜻이다.
(origin/master가 원격저장소인데 graph에서 하나 차이일 것 이다.)

저장소 복제(Clone)


원격 저장소에 내용을 자신의 local로 가져오는 것.

Sourcetree 의 local 저장소 이름 옆에 플러스(+)를 클릭한다.
그리고 메뉴에서 Clone 클릭. 원격저장소위치, 이름 등을 적고 Clone 클릭.

협업 pull,push


1.branch에서 pull 하고 충돌나는것을 수정한다.
2.다 수정했으면 commit 한다.
3.master branch 로 이동하고 작업branch의 오른쪽마우스 클릭해서
'Merge work into current branch'를 누른다 한다.

4.작업 branch의 내용을 master로 가져왔다. 이제 push 한다.

반드시 작업 전에 pull을 해서 원격저장소 내용을 내 local로 가져온다.
작업하고 나서 push하기 전에 반드시 pull을 한다. 안하면 pull 받으라고 push 실패 뜬다.

Stash


완성하지 못한 내용을 안전한 곳으로 이동시키는 것.

working copy 에 변경된 소스코드가 있을 때 Stash 클릭.
Stash Changes? 창이 뜨면 메시지를 입력하고 OK 클릭.
우리가 작업한 내용이 Graph에 사라진것을 확인할 수 있음.
사이드바에 Stashes 를 클릭하면 우리가 아까 Stash한 코드가 보인다.
다시 불러올려면 On master; 을 오른쪽 클릭하고 'Apply Stash 'On master:'을 클릭한다.

Tag


수많은 버전 중 의미있는 버전을 기록할 때 사용.
Graph 에서 의미있는 버전의 오른쪽 마우스 클릭 후 Tag 클릭.
Tag는 원격저장소로 올리려면 Push할 때 Push all tags 체크한다.

gitgnore


버전관리에서 파일을 무시한다.

무시하려는 파일은 sourcetree 에서 working copy 에 물음표 아이콘으로 등록되어있다.
오른쪽 클릭을 해서 Ignore을 선택한다.
Ignore exact filename(s) : 해당 파일이름을 가진 파일만 무시한다.
Ignore all files with this extension : 해당 파일의 확장자를 가지면 무시한다.
.gitignore 파일이 만들어졌다.(git 환경설정파일) 커밋한다.
(패턴으로 무시하려면 glob을 찾아본다)
(gitignore.io 에 들어가서 각 환경마다 어떤 파일을 무시하는지 알아낼 수 도 있다.)

반응형

'이전게시판 > Git' 카테고리의 다른 글

Git Cui Commit  (0) 2018.10.13
invalid username or password Sourcetree 해결  (0) 2018.10.12
GIT 사용 방법 정리  (0) 2018.10.12
Git 기초_1 Clone, Commit, Push (with.TortoriseGit)  (0) 2016.07.13

Post

반응형

invalid username or password Sourcetree 해결

상황


로컬저장소와 원격저장소 동기화를 위해 Push 선택.

아이디, 비밀번호 입력 후 틀렸는지 실패해서 다시한번 시도하려고 했는데

아이디, 비밀번호 입력창이 뜨지 않아 계속

 invalid username or password 에러 발생


해결


Sourcetree 인증정보를 삭제해야한다.

C:\Users\user\AppData\Local\Atlassian\SourceTree 폴더에서
(AppData는 숨김파일이므로 숨김파일 표시를 한다)
passwd, userhosts 파일에 저장된 id, 비밀번호를 전부 삭제한다.

sourcetree를 재시작하고 push하면 id, pass를 입력하라는 창이 다시 뜬다.


Updates were rejected because the tip of your current branch is behind 해결



상황


local 에서 작업한 내용을 원격저장소에 올리려고 Push 하니 아래와 같은 에러 발생.

hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.

hint: See the 'Note about fast-forwards' in 'git push --help' for details.

해결


아마 새로 생성한 Repository에 Readme.md 파일이 있을 것이다.

Local 저장소 내용을 올리려고 했는데 알수없는 Readme.md 파일이 있어서
올릴수 없다고 뜨는것 같다(정확히는 모른다;; 추측)
새로운 Repository 생성 시 Initialize this repository with a  README 를 체크하지 않고 생성한다.
그리고 Repository에 Push 하면 소스코드가 잘 올라간다.


반응형

'이전게시판 > Git' 카테고리의 다른 글

Git Cui Commit  (0) 2018.10.13
Git Branch  (0) 2018.10.12
GIT 사용 방법 정리  (0) 2018.10.12
Git 기초_1 Clone, Commit, Push (with.TortoriseGit)  (0) 2016.07.13

Post

반응형

GIT 사용 방법 정리

Git , Sourcetree 다운로드

특별한 설정 없이 그대로 next 누르면 된다.

sourcetree  다운로드

Commit


파일추가 및 커밋을 하려면 해당 git 폴더에서 파일 생성한다.

그러면 sourcetree에 unstaged files에 자동적으로 생성한 파일이 보인다.
이 파일을 staage Selected 버튼을 눌러 위로 올린 후 Commit 버튼을 누르면 커밋이 완료된다.

파일을 추가해서 커밋하려고 하면 커밋이 실패한다.
커밋하려는 사람의 정보가 없기 때문이다.
sourcetree에서 Tools-Options-General에서 FullName, Email address를 설정하면 commit 성공한다.

File Status 에 공간이 두개 있는데
맨 아래있는 것이 working copy 이다.
stage Selected 클릭 시 올라가는 공간은 index, stage area 라고 부른다.
commit 하면 하나의 버전이 된다. 이 각각 버전이 저장된 공간을 repository 라고 부른다.

Discard 


working copy에 수정된 것을 원래대로 돌리고 싶을 때 선택.


Reset


이미 커밋한 것을 되돌린다.

Log/History에서 Graph 창에서 되돌리고 싶은 버전을 마우스오른쪽 클린한다.
Reset current branch to this commit 선택.
Hard는 되돌리고 싶은 버전으로 돌아가고, working copy, stage area 에 있는 내용 전부 사라진다.
Mix는 되돌리고 싶은 버전으로 돌아가고, stage area 내용은 사라진다. 하지만 working copy에 있는건 그대로다.
Soft는 되돌리고 싶은 버전으로 돌아가고, stage area, working copy 내용도 그대로고, 되돌린 버전의 내용도 stage area에 들어가 있다. 

Revert


Reset과 비슷하지만 다르다.

선택한 버전을 취소해서 이전 상태로 돌린다. 그리고 내가 되돌렸다는 것이 이력에 남는다.
(여러버전을 넘어가면 안되고, 순차적으로 역순으로 revert해야한다)
Log/History Graph창에서 Reverse commit 클릭.

Branch


Branch는 미래에 넣을 수도 있고, 언제 들어갈지 모르는 새로운 작업을 할 수 있도록

독립된 공간을 만들어서 작업 하는 것이다.
Branch를 만들 때는 Branch 버튼 클릭. Branch 이름을 정하고 Create Branch 버튼을 누른다.

Merge


2개의 Branch를 병합하는 것을 말한다.

Master에 Branch 병합하는 법.
  1. Master Branch 선택
  2. 병합하려는 Branch를 오른쪽 클릭하면 'Merge Branch into current branch' 메뉴가 있다. 클릭한다.
  3.  Merge branch 'branchName' Graph가 생겼다. 

충돌


Marster, Branch 의 소스코드의 같은 위치에 변경사항이 있다면 충돌이 일어난다.

소스코드를 수정 한 후 working copy 에서 수정된 파일을 오른쪽 클릭한다.
충돌을 해결했다는 것을 Git에게 알려주기 위해서 Resolve conflicts-Mark Resolved 클릭
그리고 Commit 한다.

충돌 예방


만약 장시간동안 Branch 작업을 한다고 했을 때 그 기간동안, Master 소스를 가져와서 동기화를 해야한다.

작업 Branch를 현재작업중으로 놓고, Master Branch 오른쪽 클릭 - Merge master into current branch 클릭.
그러면 Master Branch 내용이 작업Branch 내용과 병합된다.

반응형

'이전게시판 > Git' 카테고리의 다른 글

Git Cui Commit  (0) 2018.10.13
Git Branch  (0) 2018.10.12
invalid username or password Sourcetree 해결  (0) 2018.10.12
Git 기초_1 Clone, Commit, Push (with.TortoriseGit)  (0) 2016.07.13
▲ top