Ubuntu(우분투) GIT 서버 설정

Ubuntu(우분투) GIT 서버 설정

1. git  설치


우분투에 프로그램을 설치하는것은 아주 쉽습니다.

GIT를 설치하는것도 쉽게 설치가 이루어 집니다.


> sudo add-apt-repository ppa:git-core/ppa




> sudo apt-get update

>sudo apt-get upgrade : update명령이 안되는경우 upgrade 로 작업하면 됩니다.


git을 설치하기 전에 우분투를 최신 버전으로 업데이트합니다.

> sudo apt-get install git-core




위와 같은 방식으로 git-core를 설치합니다.  짧은 시간에 모든 설치가 완료되었습니다.


2. git  서버설정

2.1 git 접근 권한 설정


2.1.1 대표계정(git)을 생성해 접근하는 사용자 관리

우분투에서 adduser를 이용하여 git 계정을 만들어줍니다.


> sudo adduser git



새로 만들어진 git 계정으로 로그인합니다.


> su git

> cd ~

> mkdir repos


> cd repos

> mkdir first_project.git


> cd /home/git/repos/first_project.git


> git init –bare –shared





위의 명령어를 실행하면 아래와 같이 실행됩니다.



3. git 클라이언트

git 서버가 만들어 졌습니다. 다음과 같은방법으로 git서버에 접속해서 저장소를 만들고 작업을 해보도록 하겠습니다.


윈도탐색기에서 git으로 작업할 저장소를 만들기 위해 폴더를 만들어 주세요.

저는 e:\git 폴더를 만들었습니다.

위의 폴더에서 마우스 오른쪽 버튼을 클릭하면 아래와 같이 git Clone메뉴가 있습니다. 메뉴가 나타나지 않으면 TortoiseGit 설치하면 됩니다.


https://tortoisegit.org/download/

사이트에 들어가면 아래와 같이 나타납니다.

여기에서 해당하는 프로그램을 다운로드 받아서 실행하면 됩니다.




ssh://git@192.168.0.9/home/git/repos/first_project.git


git 서버주소를 클릭하여 git 서버 주소는 위에서 작업한 우분투 서버의 IP주소를 설정해주면 됩니다.




git 사용자를 만들때 입력한 비밀번호를 저장합니다.



위와 같이 저장소를 가져옵니다.



해당 폴더에 e:\git\first_project폴더가 생성되었습니다.

폴더를 더블클릭해서 first_project 폴더로 들어가 보겠습니다.

그러면 .git 폴더가 있고 파일이 없습니다. 아직 프로젝트에 추가한 정보가 없습니다.


파일을 추가해서 추가해 보도록 하겠습니다.


해당폴더에 first.txt 파일을 추가하였습니다. 추가된 파일을 열고


위와 같이 입력을 하고 새로 저장을 합니다.

생성된 파일을 commit 하기 위해서 Git commit -> “master”…를 클릭합니다. git에서 master브랜치에서 작업하는것은 좋지 않지만 테스트를 위해서 master브랜치에 새로만들어진 파일을 commit 합니다.





Message를 위와 같이 넣어주고 commit 합니다. commit하였으면 서버로 파일을 보내주기 위해서 push를 합니다.


commit 후 나오는 화면에서 Push를 클릭합니다.


별다른 설정없이 위에서 OK버튼을 클릭합니다.



비밀번호를 넣어줍니다.



정상적으로 서버에 push되었습니다.





이번에는 서버에 정상적으로 파일이 올라갔는지 확인해보도록 하겠습니다.

e:\git2폴더를 새로 만들고 여기에서 위에서 했던 방법과 마찬가지고  git clone을 통해서 first_project를 clone합니다.



그러면 서버에는 first.txt 파일이 있었기 때문에 이번에는 first.txt가 있는 저장소가 보이게 되는것입니다.






이상으로 git 서버를 설치하고 설정한후에 클라이언트에서 어떻게 사용하는지 알아보았습니다.







대화에 참여

댓글 1개

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.