반응형

■ [Check Out] 체크 아웃

1. 설명

체크아웃는 SVN Repository로 부터 해당 파일을 내려받는 기능이다.

쉽게 말해 SVN 서버에 있는 프로젝트를 내 로컬에서 내려 받아서 컨트롤할 수 있게 된다.

 

체크아웃은 SVN 서버에서 원하는 것을 내려받는 기능을 함과 동시에 SVN 서버에 파일을 컨트롤 하기 위해서 필요한 초기 작업이라고 할 수 있다.

 

여기서 말하는 파일은 디렉토리 또는 파일 등을 일괄적으로 지칭함

2. 체크아웃 명령어 실행

※ 설명 

SVN 서버에 접속권한이 있는 유저의 유저명과 비밀번호로 접근하여, test 폴더내에 파일들을 로컬의 local_test 폴더안에 내려받는다. 

 

※ 변수 설명

  • 유저명 : user
  • 비밀번호 : 1234
  • SVN 서버 URL : svn://localhost/svn/test
  • 로컬의 폴더 : local_test

예시) 명령어

$ svn co --username=[유저명] --password=[비밀번호] [SVN 서버 URL] [로컬의 폴더]
$ #또는
$ svn checkout --username=[유저명] --password=[비밀번호] [SVN 서버 URL] [로컬의 폴더]

실제) 명령어

$ svn co --username=user --password=1234 svn://localhost/svn/test local_test
$ #또는
$ svn checkout --username=user --password=1234 svn://localhost/svn/test local_test

 [Add] 추가

1. 설명

추가는 SVN Repository 새로운 파일을 추가하는 기능이다.

2. 추가 명령어 실행

※ 설명 

SVN 서버에 test.txt 파일을 추가한다.

 

※ 변수 설명

  • 파일 : test.txt

예시) 명령어

$ svn add [파일]

실제) 명령어

$ svn add test.txt

 [Update] 갱신

1. 설명

갱신은 SVN Repository 에 파일과 체크아웃으로 내려받은 로컬에 파일을 비교 하여 수정, 삭제, 추가에 작업이 일괄적으로 이루어지며, SVN Repository에 최신 파일들이 로컬에 갱신된다.

2. 수정 명령어 실행

실제) 명령어

$ svn up
$ #또는
$ svn update

반응형

'Version Control Revision Control > SVN' 카테고리의 다른 글

[형상관리] Git 과 SVN의 차이점  (0) 2020.09.27
반응형

GitLab root 계정 비밀번호 변경

※ 개발환경

1) 윈도우 : OS가 윈도우인 독자의 경우는 아래작업에서 [sudo] 문자만 제거하고 커멘드(cmd)창에서 진행

2) 리눅스 : OS가 리눅스인 독자의 경우는 작성순서대로 작업 진행 

 

※ 작업방법

실행문에 해당하는 명령어만 명령어만 실행하고 결과문이 동일하게 호출되는지 확인하면서 진행한다.


1. GitLab Shell 로 접근

▶ 실행문

$ sudo gitlab-rails console -e production
반응형

2. GitLab root 계정 찾기

▶ 실행문

user = User.where(id : 1).first

◀ 결과문

=> #<User id:1 @root>

3. GitLab root 계정 비밀번호 변경 후 저장

▶ 실행문

user.password='[변경 비밀번호]'
user.password_confirmation='[재확인 변경 비밀번호]'
user.save
반응형

◀ 결과문

=> true

4. GitLab Shell 나가기

▶ 실행문

exit

■ 전체 명령어

sudo gitlab-rails console -e production

user = User.where(id : 1).first

user.password='[변경 비밀번호]'
user.password_confirmation='[재확인 변경 비밀번호]'
user.save

exit

마지막으로 GitLab 사이트로 이동 후 root 계정으로 로그인!!!!!

 

반응형
반응형

 작업 순서

1. 로컬에서 Gitlab 레퍼지토리를 생성하고자 하는 폴더로 이동 후 명령어 실행

git init

2. Gitlab 계정 설정

2.1 Gitlab 이름 설정

  • ex) git config --global user.name "Hyunmin"
git config --global user.name [깃렙 계정 이름]

2.2 Gitlab 이메일 설정

  • ex) git config --global user.email "hyumin@example.com"
git config --global user.email [깃랩 계정 이메일]

3. 원격(Remote) 생성하기

  • ex) git remote add origin http://example.com/test/test.git
git remote add origin [깃랩 프로젝트 Clone with HTTP]

4. 로컬 <- Gitlab 레퍼지토리 Pull

Commit 또는 Push 작업이 수행되기 이전에 Pull 작업이 수반되어야 한다.

git pull origin master

4.1 정상적으로 진행되었을 경우 [5번] 작업으로 이동

4.2 'fatal: refusing to merge unrelated histories' 해당 문구가 출력될 경우 아래 명령어 실행

해당 문구는 Gitlab 레퍼지토리와 로컬 폴더의 파일이 상이하다고 판단하면된다.

git pull origin master --allow-unrelated-histories

5. 로컬에서 Gitlab 레퍼지토리와 연동하고자 하는 폴더에서 Test 파일 생성

필자의 경우 물리적으로 파일이 Gitlab 레퍼지토리에 저장되는지를 확인하기 위해 test.txt파일을 생성했다.

  • ex) git add text.txt
git add [컴밋(commit) 하고자 하는 파일]

6. Gitlab 레퍼지토리에 Commit 

  • ex) git commit -m "initial commit"
git commit -m [Commit Comment]

7. Gitlab 레퍼지토리에 Push

git push -u origin master

7.1 정상적으로 진행되었을 경우 초기설정 완료!!!!

7.2 아래와 같이 에러문구가 발생하였을 경우는 [4번 pull 작업] 을 선행하고 다시 진행해보길 바란다.

7.3 'you are not allowed to push code to protected branches on this project' 에러 문구가 발생하였을 경우

해결 방법

1) 경로로 이동  : Gitlab > 해당 프로젝트 > Settings > Repository > Protected Branches

2) Expand 버튼 클릭

3) Protected branch 에서 Allowed to merge 와 Allowed to push 를 자신의 계정 권한이 속해 있는 범위로 바꿔 준다. 예를 들면 자신의 계정이 Developer라는 가정하에, Developer, Developer + Maintainer 등 으로 수정한다.


  전체 명령어 

git init

git config --global user.name [깃렙 계정 이름]
git config --global user.email [깃랩 계정 이메일]

git remote add origin [깃랩 프로젝트 Clone with HTTP]

git pull origin master

git add [컴밋(commit) 하고자 하는 파일]
git commit -m [Commit Comment]

git push -u origin master

반응형
반응형

■ Git 과 SVN의 차이점은 무엇일까?

■ Git

내 로컬PC에서 Commit을 하면 로컬 저장소에 반영이 되고 로컬저장소에서 Push를 하면

원격저장소에 반영이 된다.

 

Git은 모든 작업이 로컬에서 이루어지고 네트워크 사용은 원격 저장소로 저장할 때

한 번 이루어지므로 개발 시 처리속도가 빠르고, 웹 상에 저장소를 둘 수 있다는 장점이 있다.

이는 언제 어디서든 웹 실행이 가능하다면 협업이 가능하다는 것을 뜻한다.

 

또한 브랜치(branch)와 머지(merge)의 상호작용을 잘 할 수 있도록

편의성을 잘 제공해주기 때문에 협업에 용이하다.

■ SVN

내 로컬PC 에서 Commit을 하면 바로 중앙저장소에 반영된다.

 

따라서 직관적이며 모든 사람이 중앙서버에 있는 같은 자료를 받아오고

내가 Commit을 하는 순간 모든 사람에게 공유된다는 장점이 있다.

 

하지만 이는 반대로 컴밋(Commit)과정에서 문제가 있다면 공유를 하고 있는

모든 사람에게 피해가 간다는 단점이 있다.

또한 Version History를 가질 수 없기 때문에 Local History를 활용할 수는 있지만,

최신 몇일까지의 내용을 제외하고는 버전관리가 되지 않는다.

 

 

반응형
반응형

깃허브 프로젝트 이클립스에 가져오기(import)  

※ 작업 순서

▶ 검색창에 'git' 입력

▶ Git Repositories (Git) 클릭

1) Git Repositories 탭으로 이동

2) Clone a Git repository 클릭

1) GitHub Repository URL 입력 

2) GitHub 사용자ID, 비밀번호 입력

3) Next 버튼 클릭

▶ Next 버튼 클릭

1) GitHub Repository의 Project를 저장할 로컬 위치 지정

2) Finish 버튼 클릭

1) Git Repositories 탭으로 이동

2) GitHub Repository에서 불러온 Project 확인

1) GitHub Repository에서 불러온 Project 마우스 우 클릭

2) Import Projects... 클릭

1) Import 하고자하는 Project 선택

2) Finsh 버튼 클릭

▶ GitHub Repository에서 불러온 프로젝트 확인 

반응형
반응형

GitHub Repository 에 Eclipse Project 올리기

 

Build software better, together

GitHub is where people build software. More than 50 million people use GitHub to discover, fork, and contribute to over 100 million projects.

github.com


■ 이클립스(Eclipse) 설정

1) 돋보기 클릭

1) 검색창에 'git' 입력

2) Git Repositories (Gi) 클릭

※ GitHub Repository가 만들어져 있는 경우

1) Clone a Git repository 선택

1) GitHub Repository URL 을 입력 (아래 사진 참조)

2) GitHub 사용자ID, 비밀번호 입력

3) Next 버튼 클릭

GitHub 환경에서

※ GitHub Repository URL 위치 참고 사진

이클립스 환경에서

1) Next 버튼 클릭

1) 로컬 컴퓨터에 Git Repository로 생성할 폴더를 선택

2) Finish 버튼 클릭

※ Git Repositories 탭에 Git Repository(JavaExam)가 생성된걸 확인

GitHub Repository에 올릴 프로젝트 우 클릭

1) Team 클릭

2) Share Project 클릭

로컬 컴퓨터에 생성되어있는 GitHub Repository 위치를 지정

1) Create 버튼 클릭

2) GitHub Repository 위치 입력

3) Finish 버튼 클릭

4) Finish 버튼 클릭

프로젝트에 표시되어있는 느낌표(?) 제거

1) 프로젝트 우 클릭

2) Team 클릭

3) Add to Index 클릭 

Commit & Push 작업

1) Team 클릭

2) Commit 클릭

1) Staged Changes 공간 - GitHub Repository에 commit 하고자 하는 파일

2) Commit Message 공간 - commit 코멘트

3) Commit and Push 버튼 클릭 

1) Preview 버튼 클릭

1) Branch 확인

2) Push 버튼 클릭


연동완료된 GitHub Repository 확인 !!

반응형

+ Recent posts