# Git이란?
: Open-Source distrbuted Version Control System(이하 VCS)이다.
-> 작거나 큰 프로젝트를 속도나 효율성 측면에서 managing하는 도구이다.
-> 수많은 소프트웨어의 소스코드가 깃을 통해 관리된다.
# Git vs Github
-Git : local 컴퓨터에서 실행되는 프로그램으로, source code history를 관리하는 VCS이다.
-Github : web에서 실행되고, 협업을 위한 온라인 Git repository를 호스팅하는 웹 서비스이다. 사용자 interface를 제공한다.
# Three Key Feature of Git
1) Version Control
- 매번 파일을 다르게 해서 새롭게 저장하는 것은 상당히 비효율적인 방법이다. 수정된 파일을 추가해나가면서 버전을 만들어 저장하는 것이 훤씰 효율적이다.
- 누가 문서를 수정했는지, 언제, 어떤 변화가 생겼는지 계속 추적할 수 있도록 돕는 것이 git이다.
2) Backup
: 컴퓨터가 고장날 가능성은 늘 존재하니, 수시로 데이터를 백업하는게 필요하다
- usb, hard drive등의 physical device로 백업하든, cloud 등으로 백업이 가능하다.
- Github을 사용하면 git file을 backup할 수 있다. 이는 git file들을 저장하는 remote repository이다.
3) Collaboration
- Github은 여러 사용자의 공동 작업을 허용한다. 에러가 발생했을때 누가 수정했는지 확인 가능하다.
# Git Programs
1) GitHub Desktop
- github에 의해 제공되며, 사용하고 배우기 쉽지만 git의 고급 기능을 사용하기 어렵다
2) Tortoise Git
- window-only 프로그램이며, context메뉴에서 사용가능하지만 다른 os에서 사용이 불가하다
3) SourceTree
- Git의 고급 기능까지 사용할 수 있는 프로그램이다. 많은 git function을 제공하지만, 오히려 사용이 어렵다는 단점이 있다.
4) CLI
- 직접 line by line으로 명령을 입력해야 한다. git을 빠르게 조작 가능하지만, GUI보다 사용이 어렵고 번거롭다.
# Basic Git command
# 현재 git repository에 같은 사용자 정보를 사용하게 해준다
git config --global user.name "name"
git config --global user.name "email"
# Home Directory ~
# pwd(printing work directory) command
pwd
# listing command
ls
#detail information 함께 display
ls -l
#숨겨진 파일들도 함께 display
ls -a
ls -al
#change directory command
cd .. # 이전 디렉토리
cd ~ # 홈 디렉토리로 이동
cd Users #같은 폴더내의 subdirectory로 이동
#디렉토리 생성 command
mkdir test
#파일 삭제 command
rm -r test
#vim 사용 command
vim test.txt
#vim 내부 command :w #input& edit가능 :q #quit vim editor :wq #저장 &quit :q! #write(저장)없이 바로 quit esc #누르면 Input-Execution mode로 서로 switch가능하다,
'Computer Science > OpenSource+Git' 카테고리의 다른 글
Git Branch Command (0) | 2021.10.24 |
---|---|
Git Version Control Command (0) | 2021.10.24 |
OSS Tools (0) | 2021.10.24 |
OSS Licenses (0) | 2021.10.23 |
Open Source Overview (0) | 2021.10.23 |