리눅스 소스관리를 위해 만들어진 Git(깃)이지만
이제는 큰 프로젝트에서의 방대한 소스는 물론이고
github나 gitlab을 통해
개인의 사소한 문서들도 깃으로 관리하시는 분들이 많아지고 있네요.
꼭 프로그래머가 아니라도 깃은 사용할 줄 알아야 될 거예요.
저도 이제야 깃의 중요함을 깨닫고 시작하게 되었습니다.
♥ 깃(git)이란
소스코드를 관리하기 위한 분산 버전 관리 시스템입니다.
소스코드가 많거나 많은 사람들이 프로젝트에 참여할 때 아주 유용한데요.
♥ 깃 좋은점
▩ 같은 소스코드를 동시에 여러 사람이 변경할 수 있어요.
▩ 배포 버전에 문제가 있을 때 바로 예전 버전으로 돌아갈 수 있습니다.
▩ 변경이력을 쉽게 확인할 수 있어요.
▩ 소스코드 충돌 현상을 쉽게 확인할 수 있어요.
▩ 소스 변경 이력을 추적할 수 있다.
그리고
깃허브는 인터넷을 통해 깃을 기능을 제공하며
깃랩은 깃허브의 설치판이라 불리는 원격저장소를 제공하는 소프트웨어입니다.
♥ 깃허브(github)란
깃허브 사이트를 원격저장소로 사용하여 인터넷이 되는 곳이면
어디서나 소스를 다운받을수 있습니다.
그래서 전세계 많은 개발자들이 사용하고 있어요.
모든 소스가 공개되는 open source 개발에 유리하며 호환성이 좋습니다.
무료이고 저장공간에 무제한으로 사용할 수 있습니다.
하지만
소스를 공개하지 않는 비공개 private 사용은 월 사용료가 부과됩니다.
♥ 깃랩(gitlab)란
깃허브에 비해 약간 불안정하지만 무료입니다.
보통 기업들은 소스공개를 하지 않기 때문에 깃허브는 비공개면 유료지만
깃랩은 모두 무료이기 때문에 기업용으로 많이 사용되고 있는 거 같아요.
10명 이하의 소규모 프로젝트는 깃허브처럼 인터넷(클라우드)으로도 사용할 수 있습니다.
CentOS 리눅스에 깃을 설치해 볼게요.
■ Git 설치 프로그램 확인
[sidepower@localhost test]$ yum list *git* CentOS Linux 8 - AppStream 5.5 MB/s | 8.1 MB 00:01 CentOS Linux 8 - BaseOS 4.3 MB/s | 3.6 MB 00:00 CentOS Linux 8 - Extras 14 kB/s | 9.8 kB 00:00 사용 가능한 패키지 git.x86_64 2.27.0-1.el8 appstream git-all.noarch 2.27.0-1.el8 appstream git-clang-format.i686 11.0.0-1.module_el8.4.0+587+5187cac0 appstream git-clang-format.x86_64 11.0.0-1.module_el8.4.0+587+5187cac0 appstream git-core.x86_64 2.27.0-1.el8 appstream git-core-doc.noarch 2.27.0-1.el8 appstream git-credential-libsecret.x86_64 2.27.0-1.el8 appstream git-daemon.x86_64 2.27.0-1.el8 appstream git-email.noarch 2.27.0-1.el8 appstream git-gui.noarch 2.27.0-1.el8 appstream git-instaweb.noarch 2.27.0-1.el8 appstream git-lfs.x86_64 2.11.0-2.el8 appstream git-subtree.x86_64 2.27.0-1.el8 appstream git-svn.noarch 2.27.0-1.el8 appstream gitk.noarch 2.27.0-1.el8 appstream gitweb.noarch 2.27.0-1.el8 appstream kacst-digital-fonts.noarch 2.0-19.el8 appstream libgit2.i686 0.26.8-2.el8 appstream libgit2.x86_64 0.26.8-2.el8 appstream libgit2-glib.i686 0.26.4-2.el8 appstream libgit2-glib.x86_64 0.26.4-2.el8 appstream perl-Git.noarch 2.27.0-1.el8 appstream perl-Git-SVN.noarch 2.27.0-1.el8 appstream |
■ Git 설치하기
[sidepower@localhost test]$ sudo yum install git.x86_64 마지막 메타 데이터 만료 확인 :0:34:34. 2021년 07월 01일 (목) 오후 10시 11분 13초 이전에 확인 종속성이 해결되었습니다. =============================================================================== 패키지 아키텍처 버전 리포지터리 크기 =============================================================================== 설치 중: git x86_64 2.27.0-1.el8 appstream 164 k 종속 패키지 설치 중: git-core x86_64 2.27.0-1.el8 appstream 5.7 M git-core-doc noarch 2.27.0-1.el8 appstream 2.5 M perl-Error noarch 1:0.17025-2.el8 appstream 46 k perl-Git noarch 2.27.0-1.el8 appstream 77 k perl-TermReadKey x86_64 2.37-7.el8 appstream 40 k 트랜잭션 요약 =============================================================================== 설치 6 패키지 총 다운로드 크기 : 8.5 M 설치된 크기 : 45 M 정말입니까 [y/N]: y 패키지 다운로드중: (1/6): git-2.27.0-1.el8.x86_64.rpm 1.6 MB/s | 164 kB 00:00 (2/6): perl-Error-0.17025-2.el8.noarch.rpm 1.8 MB/s | 46 kB 00:00 (3/6): perl-Git-2.27.0-1.el8.noarch.rpm 2.7 MB/s | 77 kB 00:00 (4/6): perl-TermReadKey-2.37-7.el8.x86_64.rpm 1.5 MB/s | 40 kB 00:00 (5/6): git-core-doc-2.27.0-1.el8.noarch.rpm 4.5 MB/s | 2.5 MB 00:00 (6/6): git-core-2.27.0-1.el8.x86_64.rpm 6.0 MB/s | 5.7 MB 00:00 ------------------------------------------------------------------------------------------------------------------------------------- 합계 1.8 MB/s | 8.5 MB 00:04 트랜잭션 확인 실행 중 트랜잭션 확인에 성공했습니다. 트랜잭션 테스트 실행 중 트랜잭션 테스트에 성공했습니다. 트랜잭션 실행 중 준비 중 : 1/1 설치 중 : git-core-2.27.0-1.el8.x86_64 1/6 설치 중 : git-core-doc-2.27.0-1.el8.noarch 2/6 설치 중 : perl-TermReadKey-2.37-7.el8.x86_64 3/6 설치 중 : perl-Error-1:0.17025-2.el8.noarch 4/6 설치 중 : perl-Git-2.27.0-1.el8.noarch 5/6 설치 중 : git-2.27.0-1.el8.x86_64 6/6 scriptlet 실행 중: git-2.27.0-1.el8.x86_64 6/6 확인 중 : git-2.27.0-1.el8.x86_64 1/6 확인 중 : git-core-2.27.0-1.el8.x86_64 2/6 확인 중 : git-core-doc-2.27.0-1.el8.noarch 3/6 확인 중 : perl-Error-1:0.17025-2.el8.noarch 4/6 확인 중 : perl-Git-2.27.0-1.el8.noarch 5/6 확인 중 : perl-TermReadKey-2.37-7.el8.x86_64 6/6 Installed products updated. 설치됨: git-2.27.0-1.el8.x86_64 git-core-2.27.0-1.el8.x86_64 git-core-doc-2.27.0-1.el8.noarch perl-Error-1:0.17025-2.el8.noarch perl-Git-2.27.0-1.el8.noarch perl-TermReadKey-2.37-7.el8.x86_64 완료되었습니다! [sidepower@localhost test]$ |
■ Git 버전확인
[sidepower@localhost test]$ git --version git version 2.27.0 |
■ Git 명령어
다음은 여러가지 상황에서 자주 사용하는 깃 명령입니다: ● 작업 공간 시작 (참고: git help tutorial) clone 저장소를 복제해 새 디렉터리로 가져옵니다 init 빈 깃 저장소를 만들거나 기존 저장소를 다시 초기화합니다 ● 변경 사항에 대한 작업 (참고: git help everyday) add 파일 내용을 인덱스에 추가합니다 mv 파일, 디렉터리, 심볼릭 링크를 옮기거나 이름을 바꿉니다 restore Restore working tree files rm 파일을 작업 폴더에서 제거하고 인덱스에서도 제거합니다 sparse-checkout Initialize and modify the sparse-checkout ● 커밋 내역과 상태 보기 (참고: git help revisions) bisect 이진 탐색으로 버그를 만들어낸 커밋을 찾습니다 diff 커밋과 커밋 사이, 커밋과 작업 내용 사이 등의 바뀐 점을 봅니다 grep 패턴과 일치하는 줄을 표시합니다 log 커밋 기록을 표시합니다 show 여러가지 종류의 오브젝트를 표시합니다 status 작업 폴더 상태를 표시합니다 ● 커밋 내역을 키우고, 표시하고, 조작하기 branch 브랜치를 만들거나, 삭제하거나, 목록을 출력합니다 commit 바뀐 사항을 저장소에 기록합니다 merge 여러 개의 개발 내역을 하나로 합칩니다 rebase 커밋을 다른 베이스 끝의 최상위에서 적용합니다 reset 현재 HEAD를 지정한 상태로 재설정화합니다 switch Switch branches tag 태그를 만들거나, 표시하거나, 삭제하거나, GPG 서명을 검증합니다 ● 협동 작업 (참고: git help workflows) fetch 다른 저장소에서 오브젝트와 레퍼런스를 다운로드합니다 pull 다른 저장소 또는 다른 로컬 브랜치에서 가져오거나 통합합니다 push 원격 레퍼런스 및 그와 관련된 오브젝트를 업데이트합니다 |
감사합니다.
'IT > PROGRAM' 카테고리의 다른 글
게임 개발 유니티소프트웨어 다운로드 설치 시작하기 . Unity Hub (0) | 2021.10.18 |
---|---|
[Git] git(깃) 사용법 . 작업 순서대로 명령어 개념잡기 (0) | 2021.07.08 |
UI 사용자 인터페이스란? CLI GUI NUI OUI (0) | 2021.06.30 |
IntelliJ IDEA Community를 이용한 Springboot 개발 시작 . 스프링부트란 (3) | 2021.06.07 |
빠른 자바 개발도구 IntelliJ IDEA 설치하기 . 이클립스와 비교 (0) | 2021.06.01 |
댓글