이 글은 git의 기본 작업, 브랜치 작업, 변경 사항 제출 작업 등 git 사용에 대한 기본 지식을 제공합니다. 모든 사람에게 도움이 되기를 바랍니다.
기기가 계정
$ ssh-keygen -t rsa -C "your_email@example.com"
"your_email@example.com"
의 코드 저장소에 액세스할 수 있는 권한을 가질 수 있도록 SSH 키를 설정합니다. 자신의 GitHub에 설정하세요. 계정에 등록된 이메일 주소"your_email@example.com"
设置为自己GitHub账户的注册邮箱$ cat ~/.ssh/id_rsa.pub
ssh-rsa 公开密钥的内容 your_email@example.com
ssh-rsa
也拷贝下来接下来验证一下,出现successfully字样即为成功
$ ssh -T git@github.com Enter passphrase for key '/c/Users/MYPC/.ssh/id_rsa': Hi abc! You've successfully authenticated, but GitHub does not provide shell access.
$ git clone git@github.com:hirocastest/Hello-World.git
这里会要求输入 GitHub 上设置的空开密钥的密码,认证成功后,仓库便会被 clone 到当前目录中。
代码编写完成之后,将代码添加到系统的暂存区
$ git add 文件夹/文件
git commit 命令可以将当前暂存区中的文件实际保存到仓库的历史记录中。通过这些记录,我们就可以在工作树中复原文件。
$ git commit -m "记录一行提交信息"
之后只要执行 push
命令,GitHub 上的仓库就会被更新
$ git push
clone
方法建立仓库,不需要执行 init
操作。如果要把本地文件设置为仓库,那么就需要进行 init 操作
$ mkdir git-tutorial $ cd git-tutorial $ git init
$ git status # On branch master # # Initial commit # nothing to commit (create/copy files and use "git add" to track)
结果现实,我们正处于 masteer 分支下,并且没有可提交的内容
git log
命令可以查看以往仓库中提交的日志。包括什么人在什么时候进行了提交或合并
$ git log commit 5dbbff6e009abb8a6cc44187c93b694f94fbf82a (HEAD -> main, origin/main, origin/HEAD) Author: ywm <ywm_up@qq.com> Date: Sun Feb 28 17:17:00 2021 +0800
只想现实提交信息的第一行,可以在 git log
命令后加上 -- pretty=short
$ git log --pretty=short
执行 git diff
查看当前工作书与暂存区的差别
$ git diff
可以创建多个分支,同时进行完全不同的作业。等分支作业完成之后再与 master 分支合并。通过灵活运用分支,可以让多人同时高效的进行并发开发。
master 分支左侧有 “*”(星号),表示这是我们当前所在的分支。
$ git branch * master
创建并切换到分支 feature-A
$ git checkout -b feature-A
实际上,上面那条命令,等价于下面两条命令
$ git branch feature-A $ git checkout feature-A
切换回分支 mian
$ git checkout main
切换回上一个分支
$ git checkout -
通过实际操作可以证明:只要创建多个分支,就可以在不互相影响的情况下同时进行多个功能的开发
合并时加上 --no–ff 参数,可以保存之前的分支历史
$ git merge --no-ff feature
随后编辑器会启动,用于录入合并提交的信息
$ git log --graph
$ git reset --hard 目标时间点的hash值
通过 git reflog
$ git reflog
ssh-rsa
도 복사하세요. 아바타》설정》SSH 키》새 SSH 키$ git commit --amend
2.1 git clone 기존 Warehouse
git rebase -i HEAD~2
2.2 git add 스테이징 영역에 파일 추가
코드 작성 후 시스템의 스테이징 영역에 코드 추가
$ git remote add origin git@github.com:github-book/git-tutorial.git🎜2.3 git commit 웨어하우스의 기록 저장🎜🎜git commit 명령으로 현재 항목을 추가할 수 있습니다. 준비 영역에서 준비 영역으로 파일은 실제로 저장소의 기록에 저장됩니다. 이러한 기록을 통해 작업 트리의 파일을 복원할 수 있습니다. 🎜
$ git push -u origin master🎜🎜m은 이 제출물의 개요를 나타냅니다. 자세한 정보를 기록하려면 -m🎜🎜🎜2.4를 삭제하세요. git push🎜🎜 후
push
명령을 실행하면 됩니다. GitHub에서 업데이트 예정입니다🎜$ git checkout -b feature-D $ git push -u origin feature-D🎜2.5 git init는 Warehouse🎜🎜
clone
메소드를 초기화하여 웨어하우스를 생성하므로 init
작업을 수행할 필요가 없습니다. 로컬 파일을 웨어하우스로 설정하려면 init 작업을 수행해야 합니다🎜$ git clone git仓库地址🎜2.6 git status 웨어하우스 상태를 확인합니다🎜
$ git pull origin feature-D🎜현실은 마스터 브랜치 아래에 있어서 제출할 콘텐츠가 없습니다 🎜🎜2.7 제출물을 보기 위한 git log Log🎜🎜
git log
명령은 이전 창고에 제출된 로그를 볼 수 있습니다. 누가 언제 커밋했거나 병합했는지 포함🎜rrreee🎜커밋 정보의 첫 줄만 표시하고 싶다면 git log 뒤에 <code>-- Pretty=short
를 추가하면 됩니다. code> 명령 >🎜rrreee🎜2.8 git diff 변경 전과 변경 후 차이점 확인🎜🎜git diff
를 실행하여 현재 통합 문서와 준비 영역의 차이점을 확인하세요🎜rrreee🎜🎜3. 🎜🎜🎜 완전히 다른 작업을 동시에 수행하면서 여러 개의 분기를 만들 수 있습니다. 마스터 브랜치와 병합하기 전에 브랜치 작업이 완료될 때까지 기다리세요. 브랜치의 유연한 사용을 통해 여러 사람이 동시에 효율적으로 동시 개발을 수행할 수 있습니다. 🎜🎜3.1 git 브랜치는 브랜치 목록을 표시합니다.🎜🎜마스터 브랜치 왼쪽에 "*"(별표)가 표시되어 이것이 현재 우리가 있는 브랜치를 나타냅니다. 🎜rrreee🎜3.2 git checkout 브랜치 생성 및 전환🎜🎜브랜치 생성 및 전환 기능-A🎜rrreee🎜사실 위 명령은 다음 두 명령과 동일합니다.🎜rrreee🎜브랜치 mian으로 다시 전환🎜rrreee🎜다시 전환 동작 이전 브랜치🎜rrreee🎜🎜: 새 브랜치 기능을 생성하고, 새 브랜치에 README.md를 수정하고, 추가 및 커밋🎜🎜🎜실제 작업을 통해 증명 가능: 여러 개의 브랜치를 생성하는 한, 여러 개 개발 가능 서로 영향을 주면서 동시에 작동합니다🎜🎜3.3 git merge 브랜치🎜🎜이전 브랜치 기록을 저장하려면 병합할 때 --no–ff 매개변수를 추가하세요🎜rrreee🎜그런 다음 병합 커밋 정보를 입력하기 위해 편집기가 시작됩니다🎜🎜3.4 git log --graph 브랜치를 아이콘으로 보기🎜rrreee🎜🎜4. 커밋 작업 변경🎜🎜🎜4.1 git Reset 이전 버전으로 돌아가기🎜rrreee🎜 git reflog
를 통해 현재 웨어하우스의 작업 로그 확인 역추적 기록 이전의 해시 값을 찾으려면 git의 GC(garbage collection)를 수행하지 않는 한, 로그를 통해 최근 이력 현황을 마음대로 조회할 수 있다. 개발자가 실수로 git 작업을 수행하더라도 기본적으로 git reflog 명령을 사용하면 원래 상태로 복원할 수 있습니다. 🎜rrreee🎜가장 최근 작업이 위에 인쇄되고, 가장 오래된 작업이 아래에 인쇄됩니다.🎜🎜4.2 충돌 제거🎜🎜🎜작업을 병합할 때 충돌이 발생하기 쉽습니다. 이 때 해결하려면 🎜편집기를 열어야🎜합니다. 충돌🎜🎜 실제 개발에서는 그 중 하나를 삭제해야 하는 경우가 많기 때문에 🎜충돌하는 부분의 내용을 주의 깊게 분석한 후 수정하시기 바랍니다🎜🎜🎜충돌을 해결한 후 추가 및 커밋 작업을 수행하세요🎜🎜🎜만약 이전 제출 정보가 만족스럽지 않으면 수정 매개변수를 사용하여 수정할 수 있습니다🎜rrreee🎜4.3 git rebase -i 압축 기록🎜🎜브랜치를 병합하기 전에 제출된 콘텐츠에서 철자 오류를 발견하면 수정한 다음 이 수정 사항을 이전 제출물에 포함하고 역사적 기록으로 압축합니다. 🎜rrreee🎜브랜치에서 HEAD를 포함한 최신 기록 2개를 대상으로 일정을 선택하고 편집기에서 열 수 있습니다🎜在创建新仓库的时候,建议不要勾选 README.md 文件,这样会使本地仓库和远程仓库失去整合性。虽然到时候可以强制覆盖,但防止这一情况发生,还是不要勾选,就创建一个空仓库就好。
git remote 在先写代码,后创建仓库的情况下能较好的使用
$ git remote add origin git@github.com:github-book/git-tutorial.git
对于一般先创仓库,后写代码的,需要先 pull 下来仓库,再对文件进行修改
推送至 master 分支
$ git push -u origin master
-u 参数可以在推送的同时,将 origin 仓库的 master 分支设置为本地仓库当前分支的 upstream(上游),添加这个参数,将来运行 git pull 命令从远程仓库获取内容的时候,本地仓库的这个分支就可以直接从 origin 的 masteer 分支获取内容,省去了另外添加参数的麻烦
除了 master 分支之外,还可以推送到其他分支
$ git checkout -b feature-D $ git push -u origin feature-D
$ git clone git仓库地址
将本地的 feature-D 分支更新到最新状态
$ git pull origin feature-D
推荐学习:《Git教程》
위 내용은 20분 안에 git의 기본 사용법을 이해하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!