Git

Git&GitHub

dustKim 2024. 4. 29. 01:14
Git

- 버전관리(여러 파일을 하나의 버전으로 묶어서 관리하는 것) 시스템의 한 종류이다.

- 버전관리 시스템에는 클라이언트(서버 모델), 분산 모델이 있다.

클라이언트(서버 모델)
- 하나의 중앙 서버로 여러 클라이언트들이 각자 필요한 것만 가져와서 작업을 하고 다시 중앙 서버로 보내서 통합할 수 있다.
- SVN, CVS

분산 모델
- 하나의 중앙 서버가 존재하지만 여러 클라이언트들은 각자의 컴퓨터 저장소에 전체 사본을 가지고 작업하는 방식이다.
- Git

 

Git의 장점

- 동시에 작업하는 사람들과 소스코드를 주고 받을 필요가 없다.

- 같은 파일을 여러명이 동시에 병렬 개발이 가능하다.

- 변동 과정을 체계적으로 관리할 수 있고, 언제든지 지난 시점의 버전으로 되돌릴 수 있다.

- 인터넷이 연결되지 않은 곳에서도 개발을 진행할 수 있고, 중앙 서버의 데이터가 유실되어도 다시 복구할 수 있다.

 

Git 설치

- 구글에 "git  설치"를 검색 > 왼쪽 메뉴에서 download를 클릭 > 모니터에 있는 다운로드 버튼 클릭 > 64-bit Git for Window Setup 클릭 후 다운로드 및 설치(기본 설정)

- 설치확인: gitbash 찾아서 실행 후 git --version으로 버전을 확인한다.

 

Git 명령어

1. 프로젝트 디렉토리 내에 로컬 저장소를 생성

   - 원하는 프로젝트 위치로 이동 후 "git init" 을 실행한다.

   - cd(change directory) 를 사용하여 이동한다.

더보기
git init 실행
숨겨진 파일이 생성

 

숨긴 파일은 보기 > 표시 > 숨긴 항목을 클릭하면 보인다.

 

2. git 버전 관리할 파일을 선택(stage에 올린다.)

   - git add index.html

 

3. 하나의 버전 만들기

- 로컬 시스템에서 파일을 수정/생성/삭제한 원격 저장소에 반영할 파일들을 선별(버전 만들기)

- 파일이 변경될 때 변경 사항은 자동으로 저장되지 않는다.

- git에게 새 커밋을 생성하여 변경 사항을 저장하도록 지시한다.

- git commit -m "index.html 커밋"

- 만약 "*** Please tell me who you are. ..." 이라는 에러가 나온다면..

   git config --global user.email "이메일 주소"

   git config --global user.name "이름"

   (이메일과 이름을 등록한다.)

더보기
에러

 

- 등록한 이메일, 이름 확인 방법

git config user.email

git config user.name

 

- 이메일 또는 이름을 잘 못 입력한 경우(등록할때와 동일하게 진행)

git config --global user.email "이메일 주소"

git config --global user.name "이름"

 

 

커밋

 

깃허브에 push하기 위해서 처음 만들 때 이메일 주소와 이름은 깃허브와 같은 게 좋다..

 

4. 로그 확인하기

- git log

 

5. READEME.md 만들기

- 깃허브에 업로드시 저장소 메인 설명글로 사용한다.

- 마크다운으로 작성한다.

더보기

제목
    #       제목 <h1></h1>
    ##      제목 <h2></h2>
    ~
    ######  제목 <h6></h6>


강조
    볼드체: **볼드체**
    이탤릭체: *이탤릭체* 또는 _이탤릭체_
    이탤릭체와 볼드체를 동시: **_이탤릭체와 볼드체를 동시_**
    취소선: ~~취소선~~
    밑줄: <ul>밑줄</ul>


목록
    순서가 있는 목록
        1. 사과
        2. 바나나

    순서가 없는 목록
        - 사과
        - 바나나
        또는 
        * 사과
        * 바나나


링크
    [클릭할 문자열](URL)
    예) [구글로 이동](https://www.google.com)


코드 작성
    ```
        프로그램 코드 작성
        ....
    ```

 

6. 여러 파일 함께 선택하기

- state에 현재 디렉토리에 있는 변화된 모든 파일을 선택한다

- git add .

더보기

 

READEME 파일을 만들고 추가한 것이다.

 

7. 선택된 여러 파일 커밋

- git commit -m "설명 내용"

더보기

 

READEME 파일이 추가로 커밋된 것을 볼 수 있다.

 

두 번 커밋을 한 것을 알 수 있다.

 

8. 로컬 저장소에서 github 저장소 주소를 설정하기(github는 맨 밑에서 확인...)

- git remote add origin(이름 바꿀 수 있음) 내 주소

=> git remote add origin https://github.com/이름/내주소

- 확인하는 법: git remote -v

- 삭제하는 법: git remote remove origin

더보기

 

주소 설정

git hub에서 repository를 생성하면 주소가 나온다.

 

설정한 주소 확인
주소 삭제

 

주소를 삭제했으면 push 하기 전에 다시 설정해줘야 함

 

9. 생성한 커밋(버전들)을 github로 전송

- 원격 저장소에 업로드하여 다른 사용자와 커밋을 공유할 수 있다.

- git push -u origin master를 입력하여 push 한다.

   u(업스트림): 원격 저장소와 로컬 브랜치가 추적하는 브랜치를 의미, 기본적으로 origin/master 브랜치를 추천한다고 한다.

더보기
push

 

 

github에 생성됨!

 

10. Git Repository Clone(복사)

- Repository를 로컬 시스템에 복제하는 방법이다.

- 지금까지 모든 Repository의 히스토리가 포함된다.

- git clone git주소 > 폴더를 생성한다.

- git clone git주소 > 폴더를 생성하지 않는다.

더보기

 

clone을 해보기 위해서 mkdir(make directory)로 파일을 하나 만들어주고 cd(change directory)로 이동한다.

주소는 github에서 복제할 Repository에 들어가서 초록색으로 된 code버튼을 누르면 확인할 수 있다.

 

 

이동 후 clone을 사용하면..

 

new_project파일

복제된 것을 볼 수 있다.

 

11. 다른 사람과 협업

- 원하는 Reository에서 Settings -> Collaborators -> Add People 클릭 -> 이름 또는 이메일을 추가 -> 초대받은 계정의 메일에서 수락하면 된다.

더보기

Add people를 누르면....

 

여기서 검색하고 추가하면 된다!

 

12. Git Repository Fork

- 하나의 Repository를 다른 계정(또는 네임스페이스)으로 복사한다.

- Git 명령어가 아닌 GitHub에서 제공한다.

- 다른 사람의 GitHub계정 Repository에서 fork를 눌러 내 계정의 Repository로 복사한다.

 

13. pull

- 원격저장소에서 fetch 명령어로 가져온 후 merge까지 한 번에 실행하는 명령어

- git pull origin(merge까지 할 수 있음)

 

14. fetch

- 원격저장소에서 소스를 가져오기

- merge를 사용하지 않음

- git fetch origin

 

15. brench

- 작업에 대한 가지이다.

- 큰 줄기(master)에 영향을 주지 않고 가지에서만 작업을 별도로 할 수 있다.

- 브랜치를 사용하여 저장소의 메인 분기에 영향을 미치지 않고 여러 기능이나 버그 수정을 동시에 수행할 수 있다.

- git checkout -b 브랜치명

 

GitHub

- git으로 버전 관리한 코드를 업로드할 수 있는 클라우드 서비스이다.

- 단순히 저장만 하는 것이 아니라 다른 유저들과 함께 코드를 공유하고 온라인으로 하나의 프로젝트를 개발할 수 있다.

- 주소: https://github.com/ 

 

GitHub: Let’s build from here

GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea...

github.com

 

'Git' 카테고리의 다른 글

GitHub Repository 삭제하기  (0) 2024.05.07