ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 학원 day65. Git
    기록 2022. 12. 6. 23:56

    Git :

    - 분산형 버전관리 시스템

    - 리누즈 토발즈가 만듦 (깃, 리눅스 개발함)

     

    Git의 역할 :

    - 프로젝트 산출물(설계도, erd, 소스코드, 보고서, 메뉴얼), 파일의 버전관리 (파일의 변경이력을 관리)

    - 버전관리 클리이언트 프로그램

      * 중앙 집중식 버전관리 프로그램 -> subversion(svn), cvs

      * 분산형 버전관리 프로그램 -> git 

    - 버전관리 클라이언트 프로그램에서 원격저장소를 저장해놓는다. 

    - 버전관리 프로그램은 중앙집중식, 분산형으로 나뉜다. 이클립스 플러그인으로 사용할 수 있다.

    - 이클립스는 기본적으로 git이 깔려있다. import에 보면 git이 설치되어있음을 확인할 수 있다.

    - sub버전은 마켓플레이스에서 search-subversion으로 검색하면 아래와 같이 나오고 둘 중 하나 다운로드 받으면 된다.

    - 원격저장소랑 버전관리 클라이언트 프로그램이랑 버전을 비교해서 버전관리 클라이언트 프로그램의 버전이 최신이면 원격저장소에서 변경시킨다. 

    - 특정시점으로 소스코드를 되돌리기도 가능하다.

    - 명령프롬프트에서 'git log -n 원하는 갯수' 라고 작성하면 이력을 확인할 수 있다.

    - 여러명이 프로젝트 하는 건 Git보다는 subversion(svn)이 편함 (강사님 의견)

    버전관리 서버 프로그램 안에는 원격저장소가 있다. 

    버전관리 클라이언트 프로그램 안에는 로컬저장소작업 디렉토리가 있다.

    중앙집중식 버전관리 프로그램은 로컬저장소가 없다. 

    내가 작업하고 있는 파일을 직접 원격저장소에 저장한다. 

    그래서 원격저장소에 네트워크로 연결해야 하기 때문에 네트워크가 안되는 곳에서는 중앙 집중식 버전관리 프로그램을 사용할 수 없다. 

    원격저장소가 박살나면 모든 정보를 잃어버리게 된다. 단일 장애지점이 원격저장소이다. 따라서 예비를 두고 주기적으로 백업을 한다. 

    내 작업 디렉토리에는 지금 현재 작업하고 있는 소스코드만 남아있다. 

     

    분산형 버전관리 프로그램에서는 로컬저장소라는게 지원된다.

    내가 작업한 걸 로컬저장소에 저장한다.

    원격저장소의 저장된 것도 로컬저장소에 저장된다. 

     

    원격저장소랑 연결하지 않아도 로컬저장소에 내가 작업한 걸 담아둘 수 있다.

    로컬저장소는 폴더 1개라서 폴더만 복사해서 원격저장소에 갖다가 놓으면 된다.

    폴더만 복사하고 버전관리서버프로그램을 껐다 켜면 된다.

    원격저장소에 저장하기 전에 로컬저장소에 저장한다.

     

    .git이라는 숨김폴더가 로컬저장소다.

    object라는 폴더에서 버전이 관리되고 있다. 

     

    분산형 버전관리 프로그램의 장점 : 

    - 로컬저장소가 존재하기 때문에 원격저장소와 연결되어 있지 않아도 버전관리가 가능하다.

    - 원격저장소가 박살나도 정보를 잃지 않는다.

     

    git 초기 설정하기 :

    git config --global user.name "사용자명" git의 전역 사용자명 등록
    git config --global user.email "이메일" git의 전역 사용자의 이메일 등록
    git config --global --list git 전역 설정 정보 조회

     

    깃허브 : 

    - 마이크로소프트가 주인

    - 공개된 원격저장소

    - Fork를 하면 내려받을 수 있다. 

    - Pull request

     

    깃배쉬 : 

    - 리눅스 명령어를 실행할 수 있다.

     

    깃은 작업하는 공간이 있다. 

    working directory, staged area, local respository, remote repository 라는 곳이 있다.

    working directory~local repository 까지는 개발자 컴퓨터에 있고, 

    remote repositoy는 원격컴퓨터에 있다.

    staged area는 물리적인건 아니고 개념상의 영역인데 local repository에 저장시키기 전에 이곳에 추가한다.

    working directory에서 git add로 staged area에 등록시킨다.

    local 저장소에 저장시키는 명령어는 git commit이다.

     

    - git add는 작업 디렉토리의 파일을 staged area에 등록시킨다. 

    - git commit을 사용해서 로컬저장소에 등록할 대상 파일을 staged area에 추가하는 것이다.

    - 명령프롬프트에서 git init를 실행하면 로컬저장소가 생성된다.

    - git commit은 staged area에 등록된 파일들의 스냅샷을 로컬 저장소에 저장시킨다.

    - remote respository에 git push를 하여 로컬저장소의 변경 내용을 원격 저장소에 저장한다. 

    - git pull은 원격저장소의 변경내용을 가져와서 로컬저장소의 내용과 병합한다. 

     

    cmd창에 위와 같이 적으면 원격저장소에 있는 것을 내려받을 수 있다.

    aaa 폴더에 semi폴더가 생긴다.

    dir 폴더가 2개가 있음을 확인할 수 있다. 

    클라이언트 측에서는 git pull origin master를 통해 원격저장소의 변경내용을 가져올 수 있다.

     

    settings에서 collaborators를 클릭해서 추가할 수 있다.

    그러면 collaborator는 수락하라는 메일을 받게 되고 수락하면 collaborator도 push를 할 수 있게 된다.

     

    settings 클릭하고 맨 아래 delete this repository를 클릭하면 만들어놓은 저장소를 삭제할 수 있다.

     

    remote > 계정추가 > Github , Https, OAuth > 새로고침 클릭하고 authorize하면 인증성공 뜨고 확인누르면 됨.

    새로고침하면 만들어놓은 sample폴더가 있고, clone을 선택한다.

    aaa 저장소에 파일들을 지우고 다음과 같이 입력한다.

     이제 aaa폴더에 파일을 만들어놓으면 스테이지에 올라가지 않은 파일에 만들어놓은 파일이 뜨게 되는데 스테이지에 올리기를 클릭하면 스테이지에 올라간 파일에 뜨고, 코멘트를 남기고 커밋을 누르면 된다.

    history에 다음과 같이 뜬다.

    그리고 위에 push를 클릭하면 어디에 올릴건지 물어보는창이 뜨고 push를 클릭하면 된다.

    깃허브에 push 된 모습

     

     

    '기록' 카테고리의 다른 글

    학원 day67. 싱글턴 정복중....  (0) 2022.12.08
    학원 day66. github  (0) 2022.12.07
    학원 day64. ajax  (0) 2022.12.05
    학원 day63. HTML DOM(2), AJAX  (0) 2022.12.02
    학원 day62. jquery 이벤트처리(2), HTML DOM 조작, ER다이어그램  (0) 2022.12.01

    댓글

Designed by Tistory.