Git 삽질과 의문점

jjuiddong
이동: 둘러보기, 찾기
  • git 서버가 작동하기 위해서는 daemon 이 필요하지 않나?
  • sourceTree에서 로컬저장소를 만들고 clone, push, pull 할수 있나?
  • git 구조
    • 저장소 이름 / 브랜치 이름
  • push/pull 할 때 경로를 제대로 써줘야 한다.
    • git push [저장소 이름] [브랜치 이름]
  • master, origin
    • origin 저장소 이름을 뜻한다. github에서는 저장소를 만들면 기본 이름이 origin으로 된다.
    • master 는 브랜치 이름을 뜻한다. 매인 브랜치니까 master 라는 이름이 된다.
  • 로컬에 git 저장소를 생성하면, working directory 는 어떻게 되나? 같이 작업하나?
    • 아마 같이 작업하는듯 하다.
  • 이미 만들어진 로컬 저장소를 외부에서 접근 가능하게 할 수 있나?
    • 아마 가능할 듯
  • github 에서는 새 저장소를 만들면 origin, master 이름의 저장소 이름과 브랜치 이름이 지어진다.
  • user login 방법
    • git 은 분산 버전관리 프로그램이라서 로컬의 git에 계정이 만들어진 것 만으로도 로그인할 수 있는 권한이 생긴다.
  • 해당 프로젝트에 login 하기
    • cd projectfile
    • 해당 프로젝트 폴더에 들어가면 login 된다.
  • Git 저장소 만들기
    • 저장소를 만들고 싶은 디렉토리에 들어간다.
    • git init 저장소 생성
  • Git 저장소 만들기2 (리모트 저장소 만들기)
    • 저장소를 만들고 싶은 디렉토리에 들어간다.
    • git init --bare 리모트 저장소는 워킹디렉토리가 없는 저장소를 뜻하며 .git 폴더를 만들지 않고, 필요한 파일들을 해당 디렉토리 밑에 바로 생성한다.
    • git remote add [remote-name] [url] 저장소를 만들고 리모트 이름을 설정해야 한다. 그래야 이 저장소를 복사해올 수 있다. 로컬 디렉토리에 있는 저장소 일경우 file:///Users/Document/~~ 형식의 스트링이어야 한다. (ex: file:///Users/Documents/test2.git)
    • 로컬 파일의 url 은 파일의 정확한 위치를 가르키는게 아니라 file:///Users/Documents/ 여기까지는 항상 동일하고, 다음에 오는 경로는 현재 로그인된 저장소의 이름이 되어야 하는 듯 하다. test2 폴더의 .git 폴더에 저장소에 관련된 정보가 들어가있다면, file:///Users/Documents/test2.git 이 경로가 된다.
  • Git서버용 저장소 만들기
    • git clone --bare my_project my_project.git 저장소 생성
    • 192.168.2.3 을 gitserver.com 로 바꾸자
    • scp -r my_project.git jjuiddong@gitserver.com:/opt/git 서버를 SSH로 접속할 수 있게 하고, Git저장소를 /opt/git에 저장한다.

    다른 사용자

    • git clone user@gitserver.com:/opt/git/my_project.git 저장소를 clone 한다.

★★★테스트 할 것

  • 로컬에 생성한 저장소를 SourceTree로 접근하는 테스트를 해보자.
  • git 서버 설치
  • git 공개키 추가
  • github 제거, git 제거 -> SourceTree 설치 -> desktop git server 접근 -> 저장소 다운로드 테스트

sourceTree 를 설치하면 git이 설치되고, 계정을 생성한다. 로컬 git이 설정되었으므로, 리모트 저장소에 접근을 시도한다. 이 때 접근 권한이 필요하므로 공개키를 생성해 관리자에게 넘겨준다. 관리자는 해당 공개키를 git server 의 ~/.ssh 폴더에 authorized_keys 파일에 추가한다. 리모트 저장소에 접근해서 clone, push 를 해보자.

  • SourceTree
    • 로컬 저장소의 경로를 지정할 때, 좀더 명확하게 경로를 지정해줘야 한다.
    • C:/GitHub/Test1/.git 위치에 저장소 정보가 있다면, file:///GitHub/Test1/.git 이 url 이 된다.
    • git 에서는 이때 해당 저장소에 저장소 이름을 만들어 file:///Users/Documents/저장소 이름.git 이 url 이 된다.
  • 로컬 저장소를 만들고, commit, push 하는 것은 문제 없지만, clone 한 저장소를 commit 할 수 없다.

desktop PC 192.168.2.3 notebook 192.168.2.8

URL 설정방법 - 로컬 파일 URL - github file:/// - sourcetree ssh 파일 URL

Git Server 는 리눅스(Ubuntu)에 설치하자.

개인 도구
이름공간

변수
행위
둘러보기
도구모음