1. github 회원 가입하기

https://github.com/

 

GitHub: Where the world builds software

GitHub is where over 50 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat...

github.com

 

2. Git Repository 생성하기

github에 로그인 후 오른쪽 상단에 +버튼을 눌러서 New repository를 클릭해주세요.

 

1) Repository name 입력
2) Description 입력
3) public 선택  (private은 유료지만, 3명까지는 무료라고 합니다.)
4) create repository

 

3. git과 gitbash 설치하기

git은 필수지만 gitbash는 선택입니다.
2020/06/15 - [IT/git] - [git] git 설치하기
 

[git] git 설치하기

안녕하세요. 이번에는 많은 곳에서 사용되고 있는 git 설치 방법에 대해 포스팅해보겠습니다. 1. Git 설치 파일 다운로드 아래 경로에서 os에 맞는 git 설치 파일을 다운로드 해주세요. https://git-scm.c

bamdule.tistory.com

4. Git clone

1) 생성한 git repository의 주소를 복사합니다.
ex) https://github.com/Bamdule/myRepo.git

2) 원하는 경로에서 git bash를 실행시켜줍니다.

마우스 우클릭

3) git clone (git주소)를 입력해 줍니다.

5. git push

1) clone한 디렉토리로 이동하여 아무 파일이나 만들고 git bash에서 새로 만든 디렉토리로 이동해줍니다.

해당 디렉토리로 이동한 후 마우스 우클릭 > Git Bash Here 버튼을 눌러도 됩니다.

2) git add .

새로 생성한 파일을 add 해줍니다.

3) git commit -m "commit message"

commit 메시지를 입력해줍니다.

4) git push orgin

git 원격 저장소로 소스파일을 업로드합니다.

'IT > git' 카테고리의 다른 글

[Github] GitHub Gist 사용하기  (1) 2021.03.31
[Git] Github를 이용해서 무료 웹페이지 만들기  (0) 2020.12.02
[git] git 설치하기  (0) 2020.06.15
[Git] git Source File Status  (1) 2020.01.01
[Git] git을 이용한 소스코드 관리  (0) 2019.12.31

1. Yona란?

Git을 기반으로 소스를 관리하고, 팀 프로젝트를 효율적으로 진행하기 위해 개발된 오픈소스 라이브러리입니다.

2. Yona의 기능

  • 이슈트래커
  • 게시판
  • 코드 저장소(Git)
  • Pull Request
  • 코드 리뷰
  • 그룹
  • 메일 연동

3. JAVA 1.8 설치

JAVA 설치
2020/02/19 - [IT/Linux] - [Linux] CentOS 7에 OpenJDK 1.8 설치

4. MariaDB 설치

MariaDB 설치
2020/02/24 - [IT/Linux] - [Linux] CentOS7에 MariaDB 설치하기

mariaDB가 설치되었다면 root계정으로 로그인합니다.

# mysql -u root -p
Enter password: 비밀번호입력

yona 전용 계정과 데이터베이스를 생성해주고 yona 계정에 yona DB에 대한 모든 권한을 부여합니다.

MYSQL > create user 'yona 계정명'@'localhost' identified by '비밀번호'; 
MYSQL > create database yona
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_bin;
MYSQL > grant all on yona.* to 'yona 계정명'@'localhost';

5. Yona 설치 및 unzip

# wget https://github.com/yona-projects/yona/releases/download/v1.10.1-beta/yona-v1.10.1-mariadb-10.2-bin.zip
# unzip yona-v1.10.1-mariadb-10.2-bin.zip

6. Yona 설정 및 실행

yona를 실행하기 전에 application.conf에 mariadb의 yona 계정명과 패스워드를 입력해야합니다.

# vi yona-1.10.1/conf/application.conf
...
# MariaDB
db.default.driver=org.mariadb.jdbc.Driver
db.default.url="jdbc:mariadb://127.0.0.1:3306/yona?useServerPrepStmts=true"
db.default.user=yona
db.default.password="yona패스워드"
...
yona-1.10.1/bin/yona

yona를 실행시켜줍니다.

7. 방화벽 해제

yona 포트를 따로 지정해주지 않으면 9000으로 설정됩니다. 해당 포트에 대한 방화벽을 열어줍니다.

# firewall-cmd --permanent --add-port=9000/tcp
# firewall-cmd --reload

8. yona 접속

IP:9000

ex : http://localhost:9000/

9. SSH를 끊어도 yona가 종료되지 않게 하기

# yona-1.10.1/bin/yona &
# disown
# exit

참조 : https://ignorabilis.tistory.com/4

CentOS 7에 Git을 설치해서 remote repository로 사용하는 예제를 포스팅하겠습니다.

(CentOS 7이 설치되어있지 않다면 다음 링크를 참고해주세요.)

2019/12/24 - [IT/Linux] - [Linux] VMware에 CentOS 7 설치 방법


1. Git 서버

Git 설치

# yum install git

# git --version

git을 설치하고 버전을 확인한다.

Git Directory 및 저장소 생성

mkdir -p /opt/git/project.git

git init --bare /opt/git/project.git/

git directory를 생성한다. (-p 는 상위 디렉토리도 함께 생성하는 옵션)

그리고 해당 디렉토리를 git 환경으로 초기화한다.

Git 계정 생성

# useradd git
# echo 'git:비밀번호입력' | chpasswd
# chown -R git:git /opt/git/

git 계정을 생성하고 비밀번호를 변경한다. 그리고  "/opt/git/" 디렉토리의 소유자를 git으로 변경한다.

(chown에서 -R 옵션은 하위 디렉토리까지 소유자를 변경한다는 의미이다.) 

.ssh 디렉토리 생성 

git 계정 home 디렉토리에 .ssh 디렉토리를 생성한다. 

# cd /home/git/
# mkdir .ssh

2. Windows 클라이언트

git-bash 설치

아래 경로에서 git-bash를 설치한다.

https://git-scm.com/

 

Git

 

git-scm.com

SSH KEY 생성

원격 저장소와 통신하려면, 서버에 공유키(public key)를 등록해야한다. 등록 하기 이전에 먼저 key를 생성해 보자

git-bash를 실행하고 ssh key 저장 디렉토리로 이동한다.

그리고 ssh-keygen명령어를 입력해서 key를 생성한다. (key가 이미 존재한다면 하지않아도 된다.)

무언가를 입력하라는 입력 창이 노출되는데 무시하고 Enter를 누르면 된다.

ssh-key가 정상적으로 생성되었다. ls 명령어를 입력해 잘 생성되었는지 확인한다.

그리고 pwd 명령어로 .ssh 경로를 메모장에 적어둔다. 


SFTP를 이용해 public key를 서버로 이동

filezila 툴을 이용해서 public key(id_rsa.pub)를 서버로 이동시킨다.

filezila가 없다면 아래 경로에서 다운받자.

https://filezilla-project.org/

 

FileZilla - The free FTP solution

Overview Welcome to the homepage of FileZilla®, the free FTP solution. The FileZilla Client not only supports FTP, but also FTP over TLS (FTPS) and SFTP. It is open source software distributed free of charge under the terms of the GNU General Public Licens

filezilla-project.org

 

filezila를 실행시켜 호스트 정보와 사용자 정보를 입력한 후 연결한다.

그리고 미리 생성해두었던 public key를 서버의 "/home/git/.ssh" 디렉토리로 이동시킨다.


서버에 key 등록하기

다시 서버로 돌아와서 /home/git/.ssh 디렉토리 경로로 이동 후 다음 명령어를 입력한다.

cat id_rsa.pub >> authorized_keys

위 명령어를 입력하면 클라이언트의 public key가 authorized_keys 파일에 append 된다.


/opt/git/project.git clone 하기 

프로젝트를 받기위해 적당한 위치에 디렉토리를 미리 생성시켜 둔다.

그리고 git-bash에서 해당 디렉토리로 이동해 다음 명령어를 입력한다.

git clone ssh://git@IP주소:/opt/git/project.git

clone 후 해당 디렉토리로 이동해 .git 폴더를 열어보면 git에 대한 정보가 담긴 파일들이 저장된 것을 볼 수 있다.


원격 저장소에 파일 올리기 

project 디렉토리에 test.txt 파일을 생성한다.

# git add .
# git commit --message "메시지"
# git push origin master


git 사용자가 리눅스 쉘 접근 막기

git을 이용하는데 문제는 없지만, 보안 상 막는게 좋다.

# witch git-shell
# chsh git -s /usr/bin/git-shell
# cat /etc/passwd | grep git

이것을 적용하면 git 계정에 접근할 수 없다.

 

참조

https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_Git_%EC%84%9C%EB%B2%84_%EA%B5%AC%EC%B6%95_(SSH_%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C)

'IT > Linux' 카테고리의 다른 글

[Linux] CentOS 7에 OpenJDK 1.8 설치  (0) 2020.02.19
[Tomcat] CentOS 7에 Tomcat8 설치 및 설정  (0) 2020.02.19
[Linux] 계정과 그룹관리  (0) 2020.02.12
[Linux] CentOS 7 Mysql 설치  (0) 2019.12.27
[Linux] VMware에 CentOS 7 설치 방법  (0) 2019.12.24

 

git이란 소스코드를 효과적으로 관리하기 위해 개발된 분산형 버전 관리 시스템이다

git을 이용해 소스코드를 관리하기 위해 다음과 같은 준비가 선행되어야한다.


1. Git 소스 흐름도

Git 흐름도

git은 4가지의 저장소로 구분된다.

  • workspace
    • 현재 작업중인 장소를 의미한다.
  • index(stage)
    • workspace의 수정된 소스를 저장하는 장소(add)
  • local repository
    • 원격 저장소 업로드하기 전 저장소(push)
    • workspace 반영 없이 원격 저장소의 수정사항을 적용할 수 있는 장소 (fetch)
  • remote repository
    • 원격 저장소
    • clone 명령어를 통해 소스를 다운로드 할 수 있다.

2. Git 초기 설정

Global 설정

git config --global user.name "사용자명"
git config --global user.email "메일 주소"

Local 설정

git config user.name "사용자명" 
git config user.email "메일 주소"

local 설정 시, 매번 프로젝트 마다 커밋한 유저를 설정해주어야 하지만, global 설정 시 한번만 해주면 된다.

git 설정 확인

git config --list

global 유저 정보 및 원격 저장소 등 현재 경로의 git repository의 설정 정보를 보여준다.


3. Git Clone

Github에 만들어둔 원격 저장소를 다운받아보겠다.

소스를 다운받기전 git 폴더를 만들고, git bash 실행 후 해당 경로로 이동한다.

아래 git 원격 주소는 예시이며, 직접 원격 저장소를 만들어 테스트해야 한다.

cd D:/dev/git
git clone https://github.com/Bamdule/test.git

위처럼 출력되었다면 workspace 생성에 성공한 것이다.

해당 폴더 안에는 .git 폴더가 있을 것이다. 해당 폴더는 repository에 대한 각종 정보가 저장되어있다. 


4. Git add

workspace에 readme.txt 파일을 생성하고 다음과 같은 명령어를 입력해보자

git status

untracked 상태인 readme.txt 파일

readme.txt 파일은 git에 의해 추적이 안되는 상태이다. 이 상태를 untracked 상태라고 말한다.
git add readme.txt

git status

tracked 상태인 readme.txt 파일

위 명령어를 입력하면 readme.txt파일 tracked 상태로 변경되고, index(stage) 공간으로 변경사항이 저장된다.

git add .

위 명령어 입력 시, 모든 추가/변경사항이 index(stage) 공간으로 이동한다. 


5. Git commit

index(stage) 공간에서 로컬 저장소로 추가/변경된 사항이 이동한다.

git commit --message "커밋 메시지"

커밋 완료 메시지


6. Git Remote

로컬 저장소의 추가/변경 사항을 원격 저장소에 반영하기 위해서는 원격 저장소를 설정에 등록해야한다.

git remote add 원격지명 원격지주소
git remote add origin https://github.com/Bamdule/test.git

git remote -v

원격 저장소 주소 보기

원격지를 잘못입력하여 삭제하고 싶으면 다음 명령어를 입력하면 된다.

git remote remove 원격지명

7. Git push

로컬 저장소의 추가/변경 사항을 원격 저장소에 반영한다.

별다른 브런치를 생성하지 않았다면 자동으로 master 브런치가 생성/적용되어있다.

git push 원격지명 브랜치명
git push origin master

git push 완료 메시지

 

github 원격 저장소에 업로드 된 readme.txt

github repository에서도 확인할 수 있다.


8. Git pull

원격 저장소에 공동 작업자가 새로운 기능을 업로드 했을 때, 자신의 로컬 저장소와 workspace에 반영한다.

임시로 직접 github에서 pull_test.txt 파일을 등록해보자

repository list > create new file > 파일명 및 내용 입력 > commit new file
git pull origin master

pull_test.txt 파일을 다운받은 것을 볼 수 있다.

+ Recent posts