Bitbucket 사용 중 브랜치 forks 설명 기재


Git 

Forks란 다른 원격 저장소에 있는 히스토리를 그대로 나의 github 원격 저장소에 복사하는 것을 말한다.

 

다른 사람의 프로젝트에 바로 push를 할 수 없기 때문에 일단 나만의 프로젝트 버전을 관리하기 위해 다른 사람의 연격 저장소에서 프로젝트를 가져온다.

 

그런다음에 내가 contributing을 원래 원격 저장소로 요청을 합니다. 한마디로 외부 프로젝트를 진행할때 나만의 버전을 관리하기 위해서 fork를 해서 외부 프로젝트에 반영한다고 생각하시면 됩니다. fork를 했다면 나의 github에 있는 저장소에서 로컬로 clone하여 사용한다.

fetch first

//master branch에 push한다. git push origin master //fatal: The current branch master has no upstream branch. 브랜치가 원격저장소에 없을경우 발생 git push -u origin master //-u 원격저장소에 master라는 branch를 생성하고 push한다. ! [rejected] master -> master (fetch first) 이미 변경된 파일이 원격저장소에 있을경우 발생 git pull origin master //pull - 원격저장소의 내용을 가져와 로컬저장소의 내용과 자동으로 병합작업을 수행한다. //fetch - 원격저장소의 내용을 확인만 하고 로컬저장소의 내용과 병합작업을 수행하지 않는다.

원인

다른 누군가 master로 이미 push를 한상태에서 커밋을 했을떄 발생하는 에러

해결

fetch로 변경사항을 확인후 merge로 합치고 다시 push하면 된다.

 

출처: https://stackoverflow.com/questions/28429819/rejected-master-master-fetch-first

 

! [rejected] master -> master (fetch first)

Is there a good way to explain how to resolve "! [rejected] master -> master (fetch first)'" in Git? When I use this command $ git push origin master it display an error message. ! [rejected...

stackoverflow.com

 

! [rejected] master -> master (fetch first)

Is there a good way to explain how to resolve "! [rejected] master -> master (fetch first)'" in Git? When I use this command $ git push origin master it display an error message. ! [rejected...

stackoverflow.com

not-fast-forward

git push -u origin master ! [rejected] master -> master (non-fast-forward)

원인

원격 저장소와 로컬 저장소간에 공통 분모가 없는 상태에서 병합을 시도하여 발생하는 에러.

관련 없는 두 저장소를 병합하는 것은 안되도록 기본설정이 되어있다.

해결

git pull origin master --allow-unrelated-histories

위와 같이 관련없는 두 저장소의 병합을 허락해주도록 설정.

 

출처: https://blog.hjf.pe.kr/57

 

TortoiseGit을 이용해 Github에 저장소 생성 및 데이터 올리기

이번 포스트에서는 실질적으로 Github의 원격저장소에서 소스를 가져오고 수정하여 올리는 내용을 설명합니다.  아래의 절차대로 진행하겠습니다. 1, Github에 저장소 만들기 2, 로컬 저장소 만들��

blog.hjf.pe.kr

 

이번 포스트에서는 실질적으로 Github의 원격저장소에서 소스를 가져오고 수정하여 올리는 내용을 설명합니다.

 아래의 절차대로 진행하겠습니다.

1, Github에 저장소 만들기
2, 로컬 저장소 만들기
3, 로컬저장소에 저장
4, 원격저장소에 저장(Github에 반영)

 

Github에 저장소 만들기

우선 원격저장소를 생성하기 위해 Github(https://github.com)에 접속 후 로그인합니다.

저장소 생성
메인화면 우측의 "Your repositories" 옆의 [New repository] 버튼을 클릭합니다.


아래와 같은 화면이 나오면 Project Name에 생성할 프로젝트 명(현재는 테스트를 위해 TEST입력)을 넣고 [Create reposityry] 버튼을 눌러 저장소를 생성합니다.


아래와 같은 내용이 표시됩니다.

이후의 절차를 설명한 내용인데 우선은 무시하셔도 됩니다. 우리는 GUI를 이용할 것이기 때문입니다.

로컬 저장소 만들기

Global setup
탐색기를 열고 저장소로 사용할 적절한 위치(저는 C:\hjfactory)로 이동합니다.
이후 탐색기 빈공간에 우측마우스를 클릭하여 TortoiseGit > Settings 메뉴를 호출합니다.


좌측 메뉴 중 Git 항목을 선택한 후 아래와 같이 본인의 이름과 이메일 주소를 입력합니다. 그리고 [확인] 버튼을 클릭하여 저장
(※ 이름의 경우 History 및 Log에 사용되므로 여러대의 환경에서 사용할 경우 구분되도록 합니다.)


로컬 저장소 생성
위의 탐색기에서 저장소로 사용할 폴더(저는 C:\hjfactory\TEST)를 생성합니다. 그리고 그 폴더를 우측 마우스를 눌러 Git Create repository here... 메뉴를 호출합니다.


위의 메뉴를 누르면 아래와 같은 화면이 나오고 그대로 [OK] 버튼을 클릭합니다.
(체크박스는 해당 저장소에서 작업을 안할경우 체크합니다.)


아래와 같은 메시지가 표시되면 성공입니다.(다른 메시지는 본적이 없네요^^)

 

로컬저장소에 저장

저장 데이터 준비
위에서 생성한 폴더(C:\hjfactory\TEST)에 들어가 Readme.txt파일을 생성합니다.
(변경된 내용이 있어여 저장소에 저장할 수 있기 때문입니다.)


데이터 저장
다시 이전 경로(C:\hjFactory)로 이동 후에 우측마우스를 눌러 Git Commit -> "master".. 메뉴를 선택합니다.


아래와 같은 Commit 창이 보이면 수정된 내용과 적용할 파일(체크박스)를 선택 하고 [OK] 버튼을 클릭하여 저장소에 저장합니다.


아래와 같은 메시지가 나오면 수정한 내용이 로컬 저장소에 저장된것 입니다.
(이후 Push 버튼을 눌러 원격저장소에도 저장 할 수 있습니다.)

 

원격 저장소에 저장(Github에 반영)

원격지 정보 등록

위의 화면에서 [Push] 버튼을 클릭합니다. 그러면 아래와 같은 창이 나오고 원격지정보를 등록하기 위해 [Manage] 버튼을 클릭합니다.


위의 버튼을 누르면 아래와 같은 창이 뜨고 원격지 이름(Remote)와 원격지 주소(URL)만 입력하고 [Add New/Save] 버튼을 클릭하여 원격지 정보를 저장합니다. 이후 [확인] 클릭

(※ 원격지 주소는 Github에서 저장소 만든 후 표시된 화면을 참고합니다.)


원격 저장소에 저장
위에서 원격지 정보를 등록하면 아래와 같이 Destination 목록에 위의 원격지 이름이 등록됩니다. 위에서 선택한 항목 선택 후 [OK] 클릭


드디어 마지막 단계 아래와 같이 성공 메시지를 보실 수 있습니다.
(마지막 단계여서 메시지를 확대했습니다^^)


Github 등록 확인
다시 Github 사이트로 이동하여 페이지를 새로고침 하면 아래와 같이 Readme.txt가 등록된 것을 확인 할 수 있습니다.


이것으로 저장소 생성 및 등록하는 내용을 마쳤네요.

'소스관리(CI)' 카테고리의 다른 글

Git 서버 관리 - Forks  (0) 2020.06.12
Git fetch First, not fast forward  (0) 2020.06.11
tortoiseGit 사용 (undo commit, commit 취소)  (0) 2020.06.10

 

원본: https://stackoverflow.com/questions/23289965/undo-git-commit-with-tortoisegit/46107792

 

#Undo Commit

#Commit 취소

 

실수로 혹은 다른 파일을 Commit한 경우, 해당 Commit을 취소하는 방법

 

 

0. 상황

 

위 이미지와 같이 실수로 Commit을 한 상황

"test"라고 된 Commit을 하기 이전 상황으로 돌리고 싶음

 

 

1. origin/HEAD origin/maseter 선택

 

2. 우클릭 -> Rest "master" to this... 선택

 

 

3. Mixed 선택

 

 

4. 완료

 

이렇게 master 표시가 test에서origin/HEAD origin/master 위치로 변경

하지만 여전히 Log Messages에 test가 남아 있어서 불안하다.

 

5. 검증 (Log Messages에서 Commit기록 삭제 확인)

 

 

이런 화면을 보고 싶었는데 4까지 완료하면

 

이렇게 보여서 불안하다.

 

하지만 정상적으로 진행된 것이 맞다.

 

4번까지 진행한 창을 끄고, show log를 이용해서 다시 켜서 확인 해보면

 

이렇게 commit한 기록이 삭제되어 있는 것을 확인 할 수 있다.

 

+ Recent posts