지구정복

[GitHub] CentOS 리눅스 7에서 깃허브 레파지토리 만들고 로컬에 있는 프로젝트 업로드하기, 깃헙에 있는 프로젝트 로컬로 가져오기(Clone), 로컬에서 작업하고 깃헙으로 Push하기 본문

데이터 엔지니어링 정복/Git-GitHub

[GitHub] CentOS 리눅스 7에서 깃허브 레파지토리 만들고 로컬에 있는 프로젝트 업로드하기, 깃헙에 있는 프로젝트 로컬로 가져오기(Clone), 로컬에서 작업하고 깃헙으로 Push하기

eeaarrtthh 2021. 5. 27. 14:10
728x90
반응형
SMALL

1. 로컬 프로젝트 깃헙에 올리기

자신의 깃허브 레파지토리로 들어가서 새로운 레파지토리를 만든다.

 

 

그리고 레파지토리명과 레파지토리에 대한 설명을 작성한다. 그리고 밑에 create repository 클릭

 

그러면 아래와 같이 나오고 아래 코드를 이제 터미널에서 실행시킨다.

 

 

먼저 기본적으로 CentOS에는 깃이 깔려있는데 버전이 낮을 것이다. 최신 버전으로 다운받는다.

버전확인

git --version

기존 깃 삭제

yum remove git

깃 설치파일 다운로드

yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-1.noarch.rpm

깃 설치

yum install git

다시 버전 확인

git --version

아래와 같이 나오면 된다.

 

 

이제 기존 로컬프로젝트가 있는 디렉토리로 이동한다. 나는 아래경로가 로컬프로젝트 경로이다. 

각자의 로컬 프로젝트 경로로 이동하면 된다.

cd eclipse-workspace/hadoop/

 

그리고 아래 명령어로 깃 config 설정을 한다.

git config --global user.name "자신의 깃헙 이름"
예시
git config --global user.name "JiHooney"


git config --global user.email "자신의 깃헙 이메일"
예시
git config --global user.email "hoeeyz1@~~~~.com"

 

그리고 아까 깃헙에서 보여주었던 코드들을 그대로 실행한다.

echo "# test" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/JiHooney/test.git
git push -u origin main
깃헙 이름입력
깃헙 비번입력

 

그러면 이제 깃헙에 로컬에 있는 디렉토리가 업로드된 것을 확인할 수 있다.

 

 

2. 깃헙에 있는 프로젝트 로컬로 클론하기

이클립스를 실행하고 워킹디렉토리를 새로운 곳에 설정해준다.

나는 git 디렉토리에 hadoop이란 디렉토리를 워킹디렉토리로 새롭게 지정했다.

 

터미널에서 클론해도되는데 이클립스가 간편해서 이클립스에서 진행한다.

오른쪽에 open perspective 누르고 Git을 클릭한다음 Open을 클릭한다.

 

그리고 아래처럼 Clone을 누른다.

 

깃헙 url과 깃헙이름(나는 JiHooney) 깃헙비밀번호를 입력한다.

깃헙 주소는 아래처럼 해당 레파지토리 들어간다음 확인할 수 있다.

다 입력했으면 Next를 누른다.

 

그리고 깃헙에 있는 main 브랜치를 클릭하고 Finish를 누른다.

 

조금 기다리면 아래와 같이 깃헙의 레파지토리가 로컬로 다운로드된다.

 

 

이러면 깃헙 메인브랜치를 클론(복사)해서 로컬 메인 브랜치가 만들어진 것이다.

여기서 작업을 할 일이 생기면 무조건 새로운 브랜치를 만들어서 작업한다.

 

 

 

3. 로컬 레파지토리를 깃헙(원격) 레파지토리로 commit and push하기

아래처럼 Switch To 누르고 New Branch 누른다.

 

브랜치이름을 적고 Finish를 누른다.

 

그러면 아래와 같이 브랜치명이 바뀐 것을 확인할 수 있다.

 

javaEE perspective로 이동해서 아무거나 작업을 한다.

 

다시 git perspective로 이동해서 아래과정을 따라한다.

 

Unstaged Changes에서 Staged Changes영역으로 옮기고 commit message를 적어준 뒤 Commit and Push를 누른다.

그리고 Preview

네임이랑 비번적고 Log in 클릭 만약에 안된다면 ssh접속연결을 해줘야한다.

 

나도 연결이 안되어있으므로 그냥 터미널에서 깃 명령어로 진행한다. ㅎ

깃헙에서 다운로드한 로컬 레파지토리로 이동한다.

cd git/2021-Studying-Hadoop_Programing

 

상태를 확인한다.

git status

 

만약에 커밋이 안되었다면 빨간색글씨가 뜬다.

그럴경우 커밋을 해주면 된다.

git commit -m "commit message~~"

 

그리고 브랜치들을 확인해본다.

아래처럼 main브랜치 이외의 브랜치는 초록색 글씨로 표시된다.

git branch

 

푸시를 통해 로컬 레파지토리의 변경사항을 원격 레파지토리로 업로드 시켜보자.

원격레파지토리명은 위에서 git remote add origin ~ 할 때의 origin 이 된다.

git push 원격레파지토리명 로컬브랜치명

예시
git push origin 0527
깃헙 이름 입력
깃헙 비번 입력

 

성공하면 아래와 같이 뜬다.

 

 

이제 깃헙 레파지토리로 가서 새롭게 올린 브랜치를 메인 브랜치에 merge(병합)하기 위해서

Full Request(모든내용병합요청)을 보내야한다.

아래처럼 진행한다.

0527 브랜치로 이동한다.

 

0527 브랜치로 이동된 것을 확인하고 Compare & pull request를 클릭한다.

 

그리고 풀리퀘스간에 제목과 내용을 적고 Create pull request를 클릭한다.

 

충돌이 있을 경우 아래 큰 네모에 충돌이 있다고 표시되고 충돌을 해결해야 한다.

없을 경우 아래처럶 바로 Merge pull request를 눌러서 0527 브랜치를 깃헙 레파지토리 main 브랜치에 병합시킨다.

 

 

만약 충돌이 있다면 보통 아래와 같이 나온다.

>>>>>>>>>>0527
System.out.println( "Hello world" );
====================================
~~~~~
<<<<<<<<<<main

이렇게 나오면 ===================를 기준으로 위에코드가 0527브랜치의 코드,

아래가 기존 main브랜치의 코드이다.

보통 main브랜치의 코드가 병합되는 0527브랜치의 코드로 바뀌어야 하므로 

아래처럼 main브랜치 코드와 <<<, >>>, ===를 모두 지워서 0527브랜치 코드만 남도록 하면 된다.

System.out.println( "Hello world" );

 

 

아무튼 아래처럼 confirm을 누른다.

 

 

그러면 아래처럼 병합이 완료되었다고 나오고 혹시라도 합쳐진 0527 브랜치를 깃헙 상에서 삭제하고 싶으면 

Delete Branch 버튼을 누르면 된다.

 

이제 제대로 병합되었는지 파일을 확인해본다. 메인 브랜치에 코드작업한 경로로 이동하면 아래처럼 병합된 것을 확인할 수 있다.

 

 

728x90
반응형
LIST
Comments