> 백엔드 개발 > PHP 튜토리얼 > Git 일반 관련 지식 및 명령

Git 일반 관련 지식 및 명령

巴扎黑
풀어 주다: 2016-11-07 10:16:35
원래의
1051명이 탐색했습니다.

git 프로그램 설치

ContOS

     Yum install –y epel-release

   Yum install – y git

Ubuntu

Sudo apt-get install git

Windows에 설치

https://git-scm.com/download/win

설치가 완료되면 마지막 설정 단계가 필요합니다

git config --global user.name "Qiang"//예를 들어 Qiang

git config - -global user.email "zhiqiangwang @aliyun.com"//이메일 주소에 쓰기

버전 저장소 생성 및 파일 푸시

Mkdir /home/gitroot //디렉토리 생성

Cd /home/gitroot //디렉토리 입력

Git init //명령으로 초기화합니다. 이 디렉토리에 git이 관리할 수 있는 웨어하우스를 프로그램하게 하세요

Ls –a //.git 디렉토리를 볼 수 있습니다

Echo –e “QIANG”>1.txt //파일 생성 1 .txt

Git add 1.txt //웨어하우스에 1.txt 추가

Git commit –m “add new file 1.txt” //추가한 후에는 반드시 커밋해야 합니다. commit git 웨어하우스에 파일 제출

Echo –e “QIANG QIANG”>> 1.txt //1.txt 변경

Git status //현재 웨어하우스 상태 확인, Change 파일이 있는지

Git checkout --1.txt//웨어하우스의 1.txt를 로컬 1.txt로 덮어쓰기

Git diff 1.txt/비교하시면 됩니다. 1.txt 수정 웨어하우스에 있는 버전과 어떤 내용을 비교하나요?

파일 삭제

1.git add test.txt

2. git commit -m " test.txt 추가"

3. rm test.txt

4. git status

5.

6. rm ' test.txt'

7. git commit -m "remove test.txt"

현재 디렉터리의 모든 파일 업로드

1. git add .

2. git commit -m "updata all"

3. git push

버전 변경

여러번 1.txt를 변경하고 git add, git commit 작업을 수행

Git log //git Warehouse에 제출된 모든 Warehouse 기록 작업을 볼 수 있습니다

Git log – Pretty=oneline 한 줄씩 표시

git 로그를 통해 과거에 제출된 모든 버전을 볼 수 있으므로, 이 로그를 기반으로 특정 버전을 지정하여 롤백할 수 있습니다

Git Reset –hard d03da70182c1e78d04df1d7eee2f6a972ae4f82b //이 버전을 롤백할 수 있습니다. 여기에는 긴 문자열이 있으며 약어화할 수 있습니다(처음 5자)

Git reflog //모든 버전을 표시할 수 있음

파일 복구

1.txt 수정 시 발견 수정이 잘못되었습니다. 마지막 제출 상태를 수정하고 싶습니다

Git checkout –1.txt//마지막 제출 상태로 복원 submit

1.txt 수정이 완료되면 저장 후 git add 1.txt인데 git commit이 없는 경우 마지막 커밋 상태로 돌아가고 싶다면

Git가 HEAD 1.txt를 재설정

한 다음

Git checkout –1.txt

파일 삭제

Echo “QIANG” >2.txt

Git add 2.txt

Git commit –m “새 파일 2.txt 추가”

Rm –f 2.txt

Git 상태

Git rm 2.txt

Git commit –m “2.txt 삭제”//2.txt 완전 삭제

원격 창고 만들기

1. 먼저 무료 창고 등록 https:/ /github.com/ 또는 https://git.oschina.net/

2. , 키 추가

github:설정->SSH 및 GPG 키->새 SSH 키->제목 및 키 입력

oschina: 프로필->SSH 공개 키->공개 키 추가->

에 제목 및 공개 키 입력 키 쌍 생성: ssh-keygen

Liunx: Cat /root /. ssh/id_rsa

Cat /root/.ssh/id_rsa.pub //공개 키

Windwos:Cat c:/Users/Cmd/.ssh/id_rsa

Cat c:/Users/Cmd/.ssh/id_rsa.pub

추가 성공 및 이메일 수신

3. 링크 생성 웨어하우스 생성

3.1 Mkdir /home/ gitroot / /디렉토리 생성

3.2 Cd /home/gitroot //디렉토리 입력

3.3 Git init //명령으로 초기화합니다. 이 디렉토리를 git이 관리할 수 있는 웨어하우스를 프로그래밍하도록 하세요

3.4 git 원격 추가 원본 웨어하우스 주소

git 원격 추가 원본 git@git.oschina.net:zhiqiangwang/Qiang.git

3.4.1 출처는 창고 별칭으로 임의로 변경할 수 있으나 기존 창고 별칭과 충돌하지 않도록 주의하세요

3.4.2 창고 주소는 일반적으로 지원됩니다

3.5 Echo – e “QIANG”>Qiang.txt //New Qiang.txt

3.6 git add Qiang.txt

3.7 git commit –m “add Qiang.txt”

3.8 git push –u Origin master //로컬 Qiang 창고를 원격 Qiang으로 푸시

3.9 Echo –e “QIANG QIANG”>>Qiang.txt //QIANG QIANG 추가

3.10 git add Qiang.txt

3.11 git commit –m “update Qiang.txt”

3.12 git push //로컬 Qiang 창고를 원격 Qiang으로 다시 푸시

원격 저장소 복제

Git clone git@git.oschina.net:zhiqiangwang/Qiang.git

브랜치 관리

Git 브랜치 브랜치 보기

Git 브랜치 wang 브랜치 생성

git checkout wang 브랜치 전환

브랜치 병합

Git merge wang //wang 브랜치를 마스터로 병합

일반적인 병합 문제

1. master 브랜치와 wang 브랜치 모두 Qiang.txt를 편집하는 경우 , 병합 중 충돌이 발생하면 병합을 계속하기 전에 먼저 충돌을 해결하십시오

2. 충돌을 해결하는 방법은 마스터 브랜치 아래의 Qiang.txt를 편집하여 Qiang의 내용으로 변경하는 것입니다. .txt를 wang 브랜치에 넣고 Qiang.txt를 제출하고 병합하세요

3. master 브랜치의 변경 내용이 원하는 내용이라면 Qiang.txt의 내용을 편집하여 변경할 수 있습니다. 원하는 대로 제출한 다음 wang 분기로 전환한 다음 병합하세요. master 분기를 wang 분기로 분기하면 됩니다. Merge 후 브랜치 이름은 최신 브랜치여야 합니다

4. Git Branch –d wang //브랜치 삭제

5. Git Branch –D wang /브랜치가 병합되지 않은 경우 강제 삭제

브랜치 사용 원칙

Master 브랜치는 매우 중요합니다. 이 브랜치는 코드를 온라인에 게시할 때만 사용됩니다.

Dev 브랜치는 특별히 사용됩니다. 개발을 위해 중요한 릴리스가 온라인에 출시되기 전에 dev 브랜치가 마스터로 병합됩니다

개발자는 dev를 기반으로 개인 브랜치로 분기하고 개인 브랜치에서 코드를 개발한 다음 dev 브랜치로 병합해야 합니다

dev 브랜치에 bob 브랜치를 병합하는 명령은

Git checkout dev //dev 브랜치를 먼저 전환하세요

Git merge bob

현장 예약

wang 브랜치에서 wang.txt 편집

하고 zhi 브랜치로 이동하여 버그를 수정하므로 git add wang.txt

필요 먼저 git stash를 사용하여 장면을 유지합니다

그런 다음 zhi 분기로 전환하여 버그를 수정한 후 다시 wang 분기로 전환합니다

Git stash 목록에서 우리가 가지고 있는 장면을 확인합니다. 보관됨

장면을 복원하려면 Git stash 적용

Git syash apply stash@{0} 지정된 사이트로 복원

원격 분기

git remote –v //원격 라이브러리 정보 보기

git ls- 원격 원본//원격 브랜치 보기

로컬 브랜치 wang을 원격 브랜치 wang으로 푸시하고 연결 설정

a. 원격에는 이미 wang 지점이 있고 로컬 지점 wang과 연결되어 있으며 로컬 지점이 wang으로 전환되었습니다.

git push

b. 원격에는 이미 wang 분기가 있지만 로컬 분기 wang과 연결되어 있지 않으며 로컬 분기가 wang으로 전환되었습니다

git push -u Origin /wang

c. 원격 브랜치가 wang

git push Origin wang: wang

Delete local 브랜치

git Branch –d|-D wang

으로 전환되었습니다.

원격 브랜치 삭제

git push Origin :wang

git Branch -m | -M oldbranch newbranch 브랜치 이름이 이미 존재하는 경우 -M을 사용해야 합니다. 이름을 강제로 바꾸거나, 그렇지 않으면 -m을 사용하여 이름을 바꾸십시오.

태그 관리

태그 클래스는 스냅샷 기능을 기반으로 버전 라이브러리에 태그를 부여하여 특정 순간의 상태를 기록합니다. 언제든지 복원 가능

1. git checkout master 먼저 마스터로 전환

2. git tag v1.0 태그 master v1.0

3. 모든 태그

4. git log –-pretty=oneline –-abbrev-commit//기록 커밋 보기

5. git tag v0.9 d03da//기록 커밋 태그

6. git tag –a –m “tag just v1.1” d03da//태그를 설명할 수 있습니다

7. git tag –d v0.8 태그 삭제

8 .git push Origin v1.0//지정된 원격 태그로 푸시

9. git push --tag Origin//모든 태그 푸시

10. 태그

11. git push 출처: refs/tags/v1.0 원격 태그 삭제

git 서버 구축

1. Yum 설치 git

2. git 사용자를 추가하고 셸을 /usr/bin/git-shell로 설정하여 git 사용자가 원격으로 로그인하는 것을 방지합니다.

Useradd –s /usr/bin/git-shell

3. Cd /home/git

4.authorized_keys 파일을 생성하고 소유자를 변경합니다. 이는 클라이언트 시스템에 공개 키를 저장하는 데 사용됩니다.

5. ssh

6. ssh-keygen //키 쌍을 생성하려면 이 명령을 사용하세요

7. authenticate_keys를 터치하세요

8. >/ home/git/.ssh/authorized_keys.

9. Chown –R git.ssh 또는 Chown 600 .ssh/authorized_keys

10. data/gitroot

Mkdir /data/gitroot

Cd /data/gitroot

11. Git init –bare Sample.git //베어 웨어하우스를 만듭니다. 서버에 있는 git Warehouse는 순전히 기여를 위한 것이므로 사용자는 작업 공간을 변경하기 위해 서버에 로그인할 수 없으며 서버에 있는 git Warehouse는 .git

으로 끝납니다. 12. Chown –R git.git 샘플.git

위 작업은 git 서버에서 수행됩니다. 일반적으로 git 서버는 개발자가 코드를 수정하기 위해 로그인하는 것을 허용하지 않으며, 단지 서버 역할만 합니다. github과 같습니다.

클라이언트에서 원격 저장소를 복제합니다

Git clone git@ip:/data/gitroot/sample.git

이번에는 샘플 디렉터리로 들어갈 수 있는데, 원격 저장소를 복제합니다. 개발을 위해 여기로 들어가신 후 리모콘으로 밀어주세요


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿