Git & GitHub 요약 노트 - GitHub 시작 및 실천 참조

7296 단어 테크니컬
선언: 자신의git 서버와github가 한동안 사용되었지만, 이 책을 보면 깊이 있게 알고 싶어요.마침 최근 마이크로소프트가 Github를 인수했기 때문에 2333을 기념하기 위해 이 노트를 썼다.이 책은 Git에 대한 지식을 깊이 있게 소개함으로써 Git에 대한 이해를 깊이 있게 하는 데 도움이 되므로 비교적 추천한다.
  • GitHub 정보
  • GitHub 본사: 샌프란시스코
  • 마스코트: 옥토캣
  • Git 웨어하우스 호스팅 서비스만 해당되지 않음
  • 협동 작업 소프트웨어: 그룹웨어(Groupware), CRM(Customer Relationship Management, 고객 관계 관리)
  • Pull Request는 개발자가 로컬에서 소스 코드를 변경한 후 GitHub에서 호스팅되는 Git 창고에 병합을 요청하는 기능입니다.원본 코드의 전후 차이를 쉽게 볼 수 있을 뿐만 아니라 지정된 한 줄의 코드에 대해서도 논평할 수 있다.
  • GitHub Flavored Markdown(GFM) 구문
  • @ 사용자: "@ 조직 이름"을 입력하면 해당 조직에 속한 모든 구성원이 알림을 받을 수 있습니다
  • "# 번호"를 입력하면 해당 저장소의 Issue 번호가 연결됩니다.
  • 사회화 프로그래밍의 개념
  • Issue 기능은 하나의 임무나 문제를 하나의 Issue에 분배하여 추적하고 관리하는 기능
  • Wiki: 개발 문서 또는 설명서 작성
  • 리눅스의 창시자인 Linus Torvalds는 2005년에 Git의 원형 프로그램을 개발했다.당시 Torvalds는 리눅스 커널 개발에 사용된 기존 버전 관리 시스템의 개발자 라이선스가 변경됨에 따라 새로운 버전 관리 시스템을 교체하기 위해 Git를 개발했다.

  • Git 설치
  • 윈도우즈 줄 바꾸기 처리 GitHub에 공개된 코드는 대부분 Mac나 Linux의 LF(Line Feed)로 줄을 바꾸었다.그러나 Windows에서는 CRLF(Carriage Return+Line Feed)로 행이 바뀌므로 비대응 편집기에서는 제대로 표시되지 않습니다.Git는 설정을 통해 이러한 줄 바꿈 문자를 자동으로 변환할 수 있습니다.Windows 환경을 사용하는 여러분은 추천하는 "Checkout Windows-style, commit Unix-style line endings"옵션을 선택하십시오.줄 바꿈은 체크 아웃할 때 CRLF로, 커밋할 때 자동으로 LF로 변환됩니다.
  • 초기 설정
  • 먼저 Git를 사용할 때 이름과 메일주소를 설정합니다.이름은 영어로 입력하세요.
    $ git config --global user.name "Firstname Lastname"
    $ git config --global user.email "[email protected]"
    이 명령은'~/.gitconfig'에서 다음과 같은 형식으로 설정 파일을 출력합니다.
    [user]
    name = Firstname Lastname
    email = [email protected]
    이 정보를 변경하려면 이 설정 파일을 직접 편집할 수 있습니다.여기에 설정된 이름과 메일주소는 Git의 제출 로그
  • 에 사용됩니다.
  • 명령 출력의 가독성을 높이면color.ui를 auto로 설정하면 명령의 출력을 더 읽을 수 있습니다.
    $ git config --global color.ui auto
    "~/.gitconfig"에 다음 줄이 추가됩니다.
    [color]
    ui = auto

  • GitHub
  • 아바타가 깃허브에 곳곳에서 보이는 아바타(계정만의 표시)는 그래바타 서비스를 통해 표시된다.
  • SSH Key 명령 만들기
    ssh-keygen -t rsa -C "[email protected]"
    Your identification has been saved in/Users/your_user_directory/.ssh/id_rsa.Your public key has been saved in /Users/your_user_directory/.ssh/id_rsa.pub . id_rsa 파일은 개인 키, idrsa.pub는 공개 키입니다.
  • 검증: 수중의 개인 키로 GitHub와 인증 및 통신
    $ ssh -T git@github.com
  • .gitignore 파일은 Git 창고에서 관리할 필요가 없는 파일과 디렉터리를 설명합니다.
  • GitHub에는 수정 BSD 허가 프로토콜,Apache 허가 프로토콜 등 다양한 허가 프로토콜이 있지만 대부분의 소프트웨어는 MIT 허가 프로토콜을 사용한다.실제 사용 시 LICENSE 파일을 창고에 넣고 README.md 파일에서 어떤 허가 프로토콜을 사용했는지 설명하면 됩니다.

  • 기본 명령을 스스로 정리했다
  • git init 창고 초기화: 초기화에 성공하면git init 명령을 실행한 디렉터리에서 생성됩니다.git 디렉토리.이거.git 디렉터리에는 현재 디렉터리 내용을 관리하는 데 필요한 창고 데이터가 저장되어 있습니다.Git에서, 우리는 이 디렉터리의 내용을 '이 창고에 부속된 작업 트리' 라고 부른다.
  • git status 창고의 상태를 확인합니다.
  • git add 명령으로 파일을 임시 저장소에 추가합니다.
  • git commit -m " "는 현재 임시 저장소의 파일을 실제 창고의 역사 기록에 저장합니다.
  • 상세한 제출 정보를 기록하면 -m를 추가하지 않고 실행하면 편집기를 시작합니다.편집기에서 제출한 정보의 형식은 다음과 같다.●첫 번째 줄: 제출한 변경 내용을 한 줄로 요약 ●두 번째 줄: 빈 줄●세 번째 줄 이후: 변경 원인과 자세한 내용은 #(우물 번호)로 표시된 Changes to be committed(제출할 변경 사항) 표시줄에서 이번 제출에 포함된 파일을 볼 수 있습니다.제출 정보를 형식별로 기술한 후 편집기를 저장하고 닫으십시오. # (우물 번호) 로 표시된 줄은 삭제할 필요가 없습니다.
  • 편집기가 시작된 후에 제출을 중지하려면 제출 정보를 비워 두고 편집기를 닫으십시오. 그러면 제출이 중단됩니다.
  • : git commit -am ""
  • git log 명령으로 제출 로그를 봅니다.
  • git log --pretty=short는 제출 정보의 첫 줄만 표시합니다.git log 명령 뒤에 디렉토리 이름을 추가하면 해당 디렉토리의 로그만 표시됩니다.파일 이름을 추가하면 해당 파일과 관련된 로그만 표시됩니다.
  • git log -p 제출에 따른 변경 사항 보기
  • git push 업데이트 웨어하우스
  • git diff 현재 작업 트리와 로케일의 차이점 보기
  • git diff HEAD 작업 트리와 최신 제출의 차이를 확인합니다.git commit 명령을 실행하기 전에 git diff HEAD 명령을 실행하여 이번 제출이 마지막 제출과 어떤 차이가 있는지 확인한 후 제출합니다.여기 있는 HEAD는 현재 분기에서 가장 최근에 커밋된 포인터입니다.
  • git branch 명령은 지점 이름 목록을 표시하고 현재 지점을 확인할 수 있습니다."*"는 현재 지점임을 나타냅니다.
  • git checkout -b "branch name" 현재 마스터 지점을 바탕으로 새로운 지점
  • 으로 창설 및 전환
  • git checkout -는 분기 이름 대신 "-"(하이픈)를 사용하여 이전 분기로 전환할 수 있습니다.
  • git merge --no-ff feature-A 합병 지점.역사 기록에 이번 지점 합병을 명확하게 기록하기 위해서는 합병 제출을 만들어야 한다.따라서 결합 시 - no-ff 매개변수를 추가합니다.다음에 편집기가 시작되어 통합 제출 정보를 기록합니다.편집기에 표시된 내용을 저장하고 편집기를 닫습니다.
  • git log --graph 분기 차트 보기
  • git reset 역사 버전을 거슬러 올라가려면 창고의HEAD, 임시 저장소, 현재 작업 트리를 지정한 상태로 거슬러 올라가려면git reset – hard 명령을 사용해야 한다.목표 시간점의 해시치 A만 제공하면 이 시간점의 상태로 완전히 회복할 수 있다.
    $ git reset --hard fd0cbf0d4a25f747230694d95cac1be72d33441d
    HEAD is now at fd0cbf0 Add index
    git log 명령은 현재 상태를 끝점으로 하는 역사 로그만 볼 수 있습니다.git reflog 명령을 사용하여 현재 창고의 조작 로그를 보십시오.
  • git commit --amend 이전 제출 정보를 수정하고 명령을 실행하면 편집기가 시작됩니다.
  • git rebase -i 압축 기록, git rebase -i HEAD~2 현재 지점에 HEAD(최신 제출)를 포함하는 두 개의 최신 기록을 대상으로 선택하고 편집기에서 엽니다.
  • 오자와 누자 등 실수를 typo라고 하고 제출 정보를'Fix typo'로 기록한다.
  • git remote add 원가의 창고를 설치한 원격 창고$ git remote add origin [email protected]:github-book/git-tutorial.git는 상기 형식에 따라 git remote add 명령을 집행한 후 Git는 자동으로 [email protected]:github-book/git-tutorial.git 원격 창고의 이름을 오리진(표지부)으로 설정합니다.또는 git remote add origin https://github.com//gitname.git
  • git push -u origin master 현재 지점의 로컬 창고에 있는 내용을 원격 창고로 전송합니다.-u 파라미터는 전송하는 동시에origin 창고의 마스터 지점을 로컬 창고의 현재 지점의 upstream (상류) 으로 설정할 수 있습니다.이 인자가 추가되었습니다. 장래에gitpull 명령을 실행하여 원격 창고에서 내용을 가져올 때 로컬 창고의 이 지점은origin의master 지점에서 직접 내용을 얻을 수 있어 다른 인자를 추가하는 번거로움을 줄일 수 있습니다.
  • 마스터 이외의 지점으로 전송:
    git checkout -b feature-D
    git push -u origin feature-D
    로컬 창고에feature-D 지점을 만들고 같은 이름의push로 원격 창고로 전송합니다.원격 창고에 push를 주고 지점 이름이 변하지 않도록 합니다.
  • git branch -a 명령은 현재 지점에 대한 정보를 봅니다.- a 파라미터를 추가하면 로컬 창고와 원격 창고의 지점 정보를 동시에 표시할 수 있습니다.
  • git checkout -b feature-D origin/feature-Dfeature-D 지점을 로컬 창고로 가져옵니다.
  • git pull origin feature-Dgit pull 명령을 사용하여 로컬feature-D 지점을 최신 상태로 업데이트합니다.
  • 강행pull명령:
    git fetch --all //          ,       
    git reset --hard origin/master  //  HEAD         
  • git log --oneline는 제출 한 줄을 한 줄로 압축했다.제출 id와 제출 정보의 첫 줄을 표시합니다
  • git log --decorate 제출된 인용(분기, 라벨)

  • 좋은 웹페이지 즐겨찾기