일반적인 작업 및 명령을 힘내

일반적인 작업 및 명령을 힘내

지역 도서관 운영

보기 자식 명령 도움말 문서

  • 브라우저를 나타납니다이 명령을 실행 한 후, 브라우저 디스플레이는 기계 성능 이유는, 문서를 열 때문에 약간의 지연 기다려야 후, 명령이 실행됩니다, 도움말 파일
  • 브라우저에 표시되는 HTML 페이지는 로컬 정적 페이지입니다
#init是查看init命令的帮助文档
git help init

만들기 또는 로컬 라이브러리를 초기화

  • 이 경로는 지역 도서관 된 경우, 다음 원래 상태로 복원
  • 이 명령은 경로의 폴더에있는 파일을 삭제하지 마십시오, 숨겨진 폴더 자식을 만들고, 임의로 변경하지 마십시오
#创建、初始化该路径
git init    
#在该路径下创建demo文件夹,并将其创建为本地库。若该文件夹存在,则将其初始化
git init demo

지역 도서관을 삭제

  • 단지 로컬 Git 저장소 폴더에 숨김 파일을 삭제해야 지역 도서관을 삭제
  • 프로젝트 파일이 유지되지 않은 경우, 디렉토리 항목을 삭제할 수 있습니다

    서명 설정

  • 목적은 다른 개발자의 신원을 구별하는 것입니다, 사용자 이름 및 사서함, 서명과 서명 사용자 레벨 시스템 수준의 서명 프로젝트를 필요로, 두 사람은 하나의 위로를 설정해야합니다.
  • 프로젝트 수준의 서명 설정의 결과는 사용자 수준 구성 시스템에 파일을 .gitconfig하면 시스템의 루트 디렉토리에 사용자를 구성 .git / config 파일로 구성됩니다
  • 여기에 사용자 이름을 설정하고 사서함 GitHub의 계정과 아무 상관이 사서함은 단지 신원을 확인하기 위해 메일을 보낼 사서함을 설정하지 않습니다
#项目级别:仅在本地库范围有效,优先级高
git config user.name jerry
git config user.email [email protected]
#系统用户级别(操作系统登录的用户):在当前操作系统的所有本地库有效
git config --global user.name jerry
git config --global user.email [email protected]

보기 프로젝트 상태

  • 새로운 파일이 추가되거나 수정되는 경우,이 명령을 사용하여 이러한 파일은 강조 표시됩니다
  • 이 명령은 또한 준비 영역 및 지역 도서관의 상태를 표시합니다
git status

준비 영역에 파일을 추가

  • 지역 기록을 준비 파일은 제출 서류가 준비 영역에 추가 할 준비가되지 않습니다하지, 제출하기
  • 지역 도서관에 제출하기 위해 만 준비 영역에 파일을 제출 한 후 파일 및 라이브러리는 지역 준비 영역 파일에 제출하여야 아닌 작업 공간 파일입니다
#添加所有变更文件及子目录下的文件至暂存区
git add .
#添加单个变更文件至暂存区
git add demo.txt
#添加子目录下的变更文件至暂存区
git add com/app.txt

처음부터 파일을 실행 취소

git rm --cached demo.txt

지역 도서관에 준비 영역에 제출

  • 파일이 수정되면, 당신은 할 수없는 git add직접 제출이 명령을 사용하지만, 새 파일 인 경우, 다음을 수행해야합니다 git add다음 명령을 사용하여
  • 지역 도서관에 문서를 제출하는 정보를 제출 발언의 서브 세트를 지향 할 수있는이 작업이 필요하지 않습니다
#将暂存区的某个文件提交至本地库。使用该命令成功后,会进入vim编辑页面,这个页面中可添加备注消息。操作vim与linux操作vim的方式一致
git commit demo.txt
#可以使用 -m 参数,直接添加备注消息
git commit -m "git demo" demo.txt 
#将暂存区的所有文件提交至本地库
git commit -m "commit all"

프로젝트 작업 로그보기

#显示完整的日志信息
git log
#以一行形式显示日志信息
git log --pretty=oneline
#以一行形式显示日志信息,且简化索引
git log --oneline
#显示完整的日志信息,且显示指针与步长
git reflog

프로젝트 버전 롤백

  • 롤백 버전은 상태의 임시 영역 버전으로 복원 프로젝트 작업 파일을 참조
  • 명령을 다시 일반적으로 사용되는 매개 변수 :
    --soft: 작업 영역 및 준비 영역 버전이 변경되지 않습니다 로컬 라이브러리 버전을 변경
    --mixed: 로컬 도서관과 준비 영역 버전을 변경을 작업 공간 버전이 변경되지 않는
    --hard지역 도서관, 준비 영역 및 작업 공간 버전 : 변경
  • 여기 입증 HEAD 마스터 브랜치에 대한 포인터입니다
#根据版本索引移动版本,可前进可后退,使用后,log依然包含所有版本
git reset --hard 7c213d1
#使用散列值移动版本,可前进可后退,使用后,log依然包含所有版本
git reset --hard HEAD@{1}
#使用^移动版本,只能后退不能前进,HEAD后有几个^就移动几步,使用后,log只显示目前版本和之前版本
git reset --hard HEAD^
#使用~移动版本,只能后退不能前进,~后是数字几就移动几步,使用后,log只显示目前版本和之前版本
git reset --hard HEAD~1

파일의 차이점 비교

  • 기본값은 임시 영역 버전 대조적이다
  • 지역 도서관의 역사적 버전과 비교 될 수있다
  • 파일 이름을 명령 파일이 현재 작업 공간에있는 모든 차이를 비교하는 파일 이름없이, 하나의 파일에 대한 대비의 차이입니다
#将当前工作区的demo.text与暂存区demo.text对比差异
git diff demo.text
#将当前工作区的demo.text与上一个历史版本比较差异
git diff HEAD^ demo.text
#将当前工作区的所有文件与暂存区对比差异
git diff
#将当前工作区的所有文件与最新历史版本比较差异
git diff HEAD

지점 운영

현재 프로젝트의 모든 지점보기

git branch -v

지점 만들기

#创建一个名为new_branch的分支
git branch new_branch

전환 지점

#切换到new_branch分支工作
git checkout new_branch

삭제 된 지점

#删除不是当前所在分支的分支
git branch -d new_branch

복구 지점

#通过散列值恢复分支
git branch new_branch HEAD@{1}
#通过^恢复分支
git branch new_branch HEAD^
#其他恢复方式与回滚项目版本中方式一致

분기를 병합

  • 분기로 전환하기 전에 결합 지점은 지점에서 통합 될 필요가있다.
  • 예 : master 브랜치에 브랜치 new_branch 위해서는, 통과 할 필요가 git checkout마스터로 다시 분기 조작 스위치
#将new_branch这个分支合并到当前分支
git merge new_branch

지점 갈등 해결 병합

  • 갈등의 이유 : 같은에서 같은 파일의 변경 동일한 버전의 두 가지가있다
  • 충돌 자식의 성능을 때 : 명령 줄 표시 (지점 이름 | 병합), 결합 된 상태에서 표현은 충돌을 생성했습니다. 충돌 파일보기, 자식은 갈등의 한 부분으로 표시된 추가합니다
  • 충돌 해결은 충돌 먼저 수동으로 파일의 내용을 수정 폐기 곳을 예약 할 위치를 선택하고 다음을 수행해야합니다 :
#将冲突状态标记为已解决
git add demo.text
#退出合并状态,也可通过 -m 参数添加注释消息,切记不能带文件名,本次操作是退出合并状态而不是将文件提交到本地库
git commit

원격 라이브러리 작업

원격 데이터베이스 주소 별칭을 만듭니다

#test是别名,https://github.com/rawlins2397/test.git是远程仓库地址
git remote add test https://github.com/rawlins2397/test.git

생성 된 모든 별칭을보기

git remote -v

별칭 이름 바꾸기

#将已有别名test重命名为test1
git remote rename test test1

별칭을 삭제

#删除已有别名test
git remote remove test

원격 라이브러리에 지역 도서관을 밀어

  • 이 명령은 실행을 인증하기 위해 원격 데이터베이스 계정과 암호를 입력해야합니다
  • 순서는 네트워크 이유 때문에, 우리가 업로드 기다릴 필요, 파일 업로드 작업을 포함한다
  • 별칭을 통해 밀어 경우, 별명 복제는 복제해야합니다
#需要指定远程库地址和要推送的分支
git push https://github.com/rawlins2397/test.git master
#远程库地址可是使用别名代替,这里的test是别名
git push test master

로컬 라이브러리에 원격 저장소를 복제

  • 복제 작업을 완료하기 위해 원격 로컬 라이브러리 클론을 완료 복제 작업을 보장하는 SHA-1 해시 암호화 알고리즘 즉, 네트워크 전송 데이터 손실없이 체크 항목
  • 로컬 디렉토리는 필요가 없습니다 git init자동으로 초기화됩니다 성공을 복제, 지역 도서관으로 초기화
  • 푸셔는 지역 도서관 별칭을 추진하려고하는 경우, 구성도 별칭을 만들어 복제
git clone https://github.com/rawlins2397/test.git

로컬 라이브러리에 원격 저장소를 당겨

  • 다른 풀 원격 라이브러리 및 복제 병합 할 파일의 최신 버전을 프로젝트에 대한 지역의 기존 지역 도서관을 대표 당겨하지만, 끌어
  • 두 가지 방법 이겠지 : 직접 git pull단계를 사용 git fetch하고git merge
  • git pull명령 git fetchgit merge바인딩
#该操作将远程库的分支拉取到本地库的一个分支,并没有进行合并,test是远程库别名,master是要拉取的远程库的分支,这个分支拉取成功后可通过test/master来使用
git fetch test master
#将fetch拉取的分支合并到当前分支
git merge test/master
#通过pull可以直接将别名为test的远程库master分支拉取并合并到本地当前分支
git pull test master

충돌 해결 버전으로 밀어

  • 다중 멤버 개발 과정에서 성공적으로 밀어 버린다 직원을 밀어 우선 순위를 부여 같은 파일의 같은 버전을 수정, 당신은 당겨 사람들이 성능의 버전 충돌을 추진하고있는 푸시 후 누르면 그들을 밀어하라는 메시지가 표시됩니다
  • 푸시의 버전과 충돌을 해결하려면 첫 번째 원격 저장소를 최신 버전으로 인해 분기 및 합병의 현지 지점을 당기의 충돌에 로컬로 당겨, 합병 충돌을 해결하는 지점 분쟁 해결을 참조 할 수 있습니다

    SSH 공개 키 생성

  • SSH 공개 키 지역 도서관은 무료 비밀 보안 전송의 원격 라이브러리를 달성 할 수있다
  • 하나의 운영 시스템의 경우 원격 SSH 라이브러리 묶어서 따라서 SSH 공개 키를 고려하고 만 일반적으로 단지 하나 개의 운영 시스템 계정 및 원격 라이브러리 계정을 제공하는 사용자에게 적용
#切换到用户根目录,查看是否存在something 和 something.pub 来命名的一对文件,这个 something 通常就是 id_dsa 或 id_rsa,如果有,打开.pub文件,其内容就是SSH公钥
cd ~/.ssh 
ls
#若不存在,则需要创建一个SSH公钥
ssh-keygen -t rsa -C "[email protected]"
#ssh-keygen的参数为:-t 指定密钥类型,默认是 rsa ,可以省略。-C 设置注释文字,通常为邮,注意C必须为大写。-f 指定SSH存储的文件名。
#运行命令后,若没有使用-f参数,则会提示输入文件名,可回车使用默认值。还会要求输入两次密码,这个密码是用于使用SSH公钥的密码,而非登录远程库帐号的密码,若不需要,直接回车忽略
#.pub文件,其内容就是SSH公钥

원격 저장소에 밀어 파일을 무시

  • 종종 구성 파일은 코드 편집기, 프로젝트 자체와는 이러한 프로파일 아무것도를 생성 한 프로젝트는, 그래서 프로젝트가 원격 저장소에 푸시 할 때, 당신은이 파일을 무시하도록 푸시를 설정해야
  • 이러한 구성 파일이 프로젝트는 편집기의 동일한 버전을 사용할 수 있으므로이있을 것이다 무시하지 않는다는 것을 보장 할 수 없습니다 코드 편집기의 버전과 관련되어 있기 때문에 코드 에디터, 당신은 푸시를 무시하지 않는 경우 프로젝트 개발을 위태롭게합니다, 프로파일 생성 불필요한 병합 충돌
  • 이동 https://github.com/github/gitignore을 언어 프로젝트와 관련된 무시 파일을 볼 수
  • 단지, 지역 도서관 .git / 설정 ~ / .gitconfig 파일을 무시하는 지역 도서관을 설정해야하는 경우 문서의 준비,이 문서의 내용은 (위의 URL을 참조, 또한 무시하는 사용자 정의 파일 형식이 될 수 있으며, 구성) 상기 문서를 도입
[core] 
    excludesfile = C:/Users/rawlins/Java.gitignore

추천

출처www.cnblogs.com/rawlins/p/11681674.html