GiitHub에서 코드를 관리하기 시작할 때 해야 할 일

Git & GitHub로 코드를 관리하기 시작할 때의 일련의 절차와 신경 쓰이는 점을 한데 모으다.
Giit &GiitHub 사용 방법에 대한 더 자세한 설명은 아래 내용을 참고하시기 바랍니다.

1. Make a Repository on GitHub


기릿허브 리포지토리git commit만으로 기릿허브 리포지토리를 만드는 기능은 로컬git 프로젝트에서 직접 만들 수 없기 때문에 먼저 기릿허브의 GUI에서 새로운 리포지토리[1]를 만든다.
이때 기릿허브로 기존 코드를 다시 관리하려면 아무 내용 없이 빈 창고[2]를 일시적으로 제작한다.
또한 입력이 간단하기 때문에 GiitHub의 Repository 이름에서keba-case(소문자 &'-'구분자)를 자주 사용한다.

2. Set Authentication


현재 CLI에서 GiitHub에 액세스하는 통신 방법은 다음 2가지[3]로 제한됩니다.
  • HTTPS 통신: GiitHub의 personal access token 사용
  • SSH 통신:public/privetkey
  • 사용
    1의 방법은 매번 personal access token을 입력해야 하기 때문에 번거롭기 때문에 이번에는 2가지 방법으로 통신하기로 했다.

    2.1 Make a ssh key


    우선 GiitHub의 공식 문서Generating a new SSH key and adding it to the ssh-agent를 참고하여 SSH 통신에 사용할 키를 만듭니다.
    $ ssh-keygen -t ed25519 -C "[email protected]"
    > Generating public/private ed25519 key pair.
    
    이때 passphrase를 입력하는 것을 추천합니다.
    키를 만들 때passphrasessh를 등록하고 매번 passphrase를 입력하거나 ~/.ssh 이외에 키를 만들지 않으려면 ssh-agent에 기밀 키를 등록해야 합니다.
    $ eval "$(ssh-agent -s)"
    > Agent pid 59566
    $ ssh-add ~/.ssh/id_ed25519
    
    eval "$(ssh-agent -s)"의 명령은 ssh-agentssh-add를 시작하는 데 필요한 환경 변수를 설정했기 때문에 케이스가 끝날 때마다 환경 변수를 다시 설정해야 한다.
    그러나 조개껍질을 가동할 때마다 ssh-agent는 대량의 ssh-agent를 가동하기 때문에 주의해야 한다.

    2.2 Registry the ssh key


    참조Adding a new SSH key to your GitHub account는 생성된 공개 키를 GUI에서 GiitHub로 등록합니다.
    이후 다음 명령을 통해 소통 확인이 가능하면 설정이 완료된다.
    $ ssh -T [email protected]
    > Hi [username]! You've successfully authenticated, but GitHub does not provide shell access.
    

    3. Register and Push Local Files


    GiitHub을 통해 관리하려는directory로 이동하여 다음 명령을 실행합니다.
    $ git init
    $ git remote add origin [repository url]
    
    Giit에 이름과 메일 주소를 등록했다면 GiitHub에서 누가 파일을 변경했는지 확인할 수 있으므로 미리 설정하는 것이 좋다.
    또한 이 이름들은 Repository의 소유자와 일치할 필요가 없습니다.
    $ git config --global user.name 'username'
    $ git config --global user.email '[email protected]'
    
    마지막으로 좋아하는 이름으로 브랜치를 만들고remote repository에push를 올리면 된다.
    $ git checkout -b [branch name]
    $ git add .
    $ git commit -m "first commit"
    $ git push origin
    

    4. Git Submodule


    Git repository에서 다른 git repository를 더 관리하려면 git submodule 명령을 사용하십시오.
    git repository에서 관리하고 싶은 다른 repository를 추가하려면 아래 명령을 사용하십시오.
    $ git submodule add [URL] [directory name]
    
    이후 이 추가된directorygit로 이동하면 시스템의 명령을 두드릴 때 추가된submodule만 이 명령을 실행합니다.
    그러나submodule 바깥쪽의directory에서branch 등 변경이 진행된 경우 이 변경은submodule에 자동으로 업데이트되지 않습니다.
    따라서submodule 외부에서 checkkout을 진행하면submodule를 동기화하기 위해
    이 지령이 필요합니다.
    각주
    올바른 사용GitHub CLI을 통해 CLI에서 제작↩︎
    빈 리포지토리gitgit pull할 수 없기 때문에 git clone부터 포함git pull,LICENSE 중 최소한의 방식으로 GiitHub 리포지토리↩︎를 제작하고자 합니다.
    About authentication to GitHub - Authenticating with the command line ↩︎

    좋은 웹페이지 즐겨찾기