새소식

반응형
250x250
My Study/Java

신입 개발자의 기록 [11/20]

  • -
728x90
반응형

11월 20일 첫 출근

 

지금은 12월 1일이지만 이제부터 출근해서 배웠거나 진행했던 것들을 여기 정리해보려 한다. 개발자는 기록이 일상이어야 하니깐...ㅎ

기록 남기고 일기쓰는 것과 거리가 매우매우 멀었지만 이제부터 가까워져 보도록 하자..!

 

11월 20일 첫 출근에는 Git의 특,장점과 기본 명령어에 대해 알아보았다.

 

먼저 Git이란? 

Git이란 버전 관리 시스템(Version Control System) 중 하나이다. 버전 관리 시스템은 파일 내 변화를 시간의 흐름에 따라 기록했다가, 이후 필요한 상황에서 파일을 꺼내올 수 있는 시스템이다. 어떤 문서나 파일을 작성할 경우에 최종 시안으로 가는 과정에서 수없이 많은 과정과 업데이트가 발생한다. 이 과정에서 특정 시점의 내용이 필요한 경우 버전 관리 시스템을 사용하면 그 정보에 관한 여러 버전을 관리하며, 변경 시간과 변경자 등 많은 정보를 확인할 수 있다. 또한 여러 버전 간 이동이 자유롭다는 장점이 있어 많이 사용한다.

 

Git의 특징과 장점

1. Distributed development (분산된 개발)

 

  • 전체 개발 이력을 각 개발자의 로컬로 복사본을 제공하고 변경된 이력을 다시 하나의 저장소로 복사한다.
  • 이러한 변경은 추가개발지점을 가져와 로컬개발 지점과 동일하게 병합할 수 있다. 저장소는 Git protocol 및 HTTP로 쉽고 효율적으로 접근할 수 있다.

 

2. Strong support for non-linear development (비선형 개발에 대한 강력한 도움)

 

  • 신속하고 편리한 branch 및 merge 지원, 비선형 개발 이력을 시각화하고 탐색할 수 있는 강력한 도구 제공

 

3. Efficient handling of large projects (대형 프로젝트들을 효율적으로 관리)

 

  • 매우 빠르고, 대형 프로젝트나 이력이 많은 작업에 매우 합리적이다. 다른 대부분의 다른 버전 관리 시스템보다 빠르게 요청하고, 일부 작업에서는 더 빠르게 진행한다.
  • 최근의 정상급 오픈소스 버전관리 시스템보다 장기간의 수정 내역을 매우 효율적인 압축방법을 사용한다.

 

4. Cryptographic authentication of history (이력에 대한 암호화 인증 가능)

 

  • Git의 이력은 성공한 개발이력의 commit에 의해 개정명으로 저장된다. 배포 후 개정명을 모르면 예전 버전으로 변경하는 것은 불가능하고, 암호화할 수 있다.

 

5. 쉬운 버전 관리가 가능하다.

 

  • 협업을 진행하면 잦은 업데이트 사항이 생길 수밖에 없다. 그럴 때마다 파일 명을 변경한다면 파일만 수 백 개가 넘을 수도 있다. 하지만 Git을 사용하면 이런 번거로운 과정 없이 손쉽게 업데이트를 할 수 있으며 하나의 코드로 여러 명이서 병렬적인 작업이 가능하다.

 

6. 중앙 서버가 필요하지 않다.

 

  • Git은 분산 버전 관리 시스템이기 때문에 중앙 서버가 필요없다. 즉, 인터넷이 연결되어 있지 않은 상황에서도 작업이 가능하며, 도중에 문제가 생겨도 손쉽게 복구할 수 있다.

 

 

Git의 기본 명령어들

 


git 

새로운 git 저장소 생성

git clone <URL>

기존 소스코드 다운로드 / 복제

git add <name>

커밋에 단일 파일의 변경사항을 포함

git add -A

커밋에 파일의 변경사항을 모두 포함

git commit -m "<message>"

커밋 생성

git status

파일 상태 확인

git branch <name>

새 브랜치 생성

git checkout <name>

브랜치로 이동

git branch -d <name>

브랜치 삭제

git push origin <name>

원하는 브랜치의 변경된 정보를 원격 서버에 전송

git pull <remote> <name>

원격에 저장된 git 프로젝트를 현재 위치한 브랜치로 병합

git push -u <remote> <name>

커밋을 원격 서버에 업로드

git remote add origin <URL>

원격 저장소 추가

git pull

원격 저장소의 변경 내용을 현재 디렉토리에 fetch, merge함

git merge <another name>

현재 브랜치에 다른 브랜치의 수정사항 병합

git diff <name> <another name>

merge 전과 바뀐 내용 비교

git log

현재 위치한 브랜치 커밋 내용 확인 및 식별자 부여

git check out -- <file name>

로컬의 변경 사항을 변경 전으로 되돌림

 

 

728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.