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//마지막 제출 상태로 복원 submit1.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.txt3.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 pushb. 원격에는 이미 wang 분기가 있지만 로컬 분기 wang과 연결되어 있지 않으며 로컬 분기가 wang으로 전환되었습니다git push -u Origin /wangc. 원격 브랜치가 wanggit push Origin wang: wangDelete local 브랜치git Branch –d|-D wang
으로 전환되었습니다.
원격 브랜치 삭제git push Origin :wanggit Branch -m | -M oldbranch newbranch 브랜치 이름이 이미 존재하는 경우 -M을 사용해야 합니다. 이름을 강제로 바꾸거나, 그렇지 않으면 -m을 사용하여 이름을 바꾸십시오. 태그 관리태그 클래스는 스냅샷 기능을 기반으로 버전 라이브러리에 태그를 부여하여 특정 순간의 상태를 기록합니다. 언제든지 복원 가능1. git checkout master 먼저 마스터로 전환2. git tag v1.0 태그 master v1.03. 모든 태그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
이번에는 샘플 디렉터리로 들어갈 수 있는데, 원격 저장소를 복제합니다. 개발을 위해 여기로 들어가신 후 리모콘으로 밀어주세요