> 개발 도구 > 자식 > 본문

20분 안에 git의 기본 사용법을 이해하는 방법

WBOY
풀어 주다: 2022-01-05 17:37:46
앞으로
1621명이 탐색했습니다.

이 글은 git의 기본 작업, 브랜치 작업, 변경 사항 제출 작업 등 git 사용에 대한 기본 지식을 제공합니다. 모든 사람에게 도움이 되기를 바랍니다.

20분 안에 git의 기본 사용법을 이해하는 방법

1. SSH 키 설정

기기가 계정

$ ssh-keygen -t rsa -C "your_email@example.com"
로그인 후 복사
  • "your_email@example.com"의 코드 저장소에 액세스할 수 있는 권한을 가질 수 있도록 SSH 키를 설정합니다. 자신의 GitHub에 설정하세요. 계정에 등록된 이메일 주소"your_email@example.com" 设置为自己GitHub账户的注册邮箱
  • id_rsa 文件是私有密钥,id_rsa.pub 是公开密钥。
$ cat ~/.ssh/id_rsa.pub
로그인 후 복사

ssh-rsa 公开密钥的内容 your_email@example.com

  • 然后把公钥拷贝下来,添加到账户里面,注意要把前面的 ssh-rsa 也拷贝下来
  • 头像》Settings》SSH Key》new SSH Key

接下来验证一下,出现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.
로그인 후 복사

2. git 基本操作

2.1 git clone 已有仓库

$ git clone git@github.com:hirocastest/Hello-World.git
로그인 후 복사

这里会要求输入 GitHub 上设置的空开密钥的密码,认证成功后,仓库便会被 clone 到当前目录中。

2.2 git add 将文件加入暂存区

代码编写完成之后,将代码添加到系统的暂存区

$ git add 文件夹/文件
로그인 후 복사

2.3 git commit 保存仓库的历史记录

git commit 命令可以将当前暂存区中的文件实际保存到仓库的历史记录中。通过这些记录,我们就可以在工作树中复原文件。

$ git commit -m "记录一行提交信息"
로그인 후 복사
  • m 表示对这个提交的概述,如果想要记录详细信息,就把 - m 去掉

2.4 git push

之后只要执行 push 命令,GitHub 上的仓库就会被更新

$ git push
로그인 후 복사

2.5 git init 初始化仓库

clone 方法建立仓库,不需要执行 init 操作。如果要把本地文件设置为仓库,那么就需要进行 init 操作

$ mkdir git-tutorial

$ cd git-tutorial

$ git init
로그인 후 복사

2.6 git status 查看仓库状态

$ git status
# On branch master
#
# Initial commit
#
nothing to commit (create/copy files and use "git add" to track)
로그인 후 복사

结果现实,我们正处于 masteer 分支下,并且没有可提交的内容

2.7 git log 查看提交日志

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
로그인 후 복사

2.8 git diff 查看更改前后的差别

执行 git diff 查看当前工作书与暂存区的差别

$ git diff
로그인 후 복사

3. 分支操作

可以创建多个分支,同时进行完全不同的作业。等分支作业完成之后再与 master 分支合并。通过灵活运用分支,可以让多人同时高效的进行并发开发。

3.1 git branch 显示分支一览表

master 分支左侧有 “*”(星号),表示这是我们当前所在的分支。

$ git branch
* master
로그인 후 복사

3.2 git checkout 创建、切换分支

创建并切换到分支 feature-A

$ git checkout -b feature-A
로그인 후 복사

实际上,上面那条命令,等价于下面两条命令

$ git branch feature-A

$ git checkout feature-A
로그인 후 복사

切换回分支 mian

$ git checkout main
로그인 후 복사

切换回上一个分支

$ git checkout -
로그인 후 복사
  • 操作一下:创建一个新的分支 feature,在新的分支上修改 README.md,并且 add、commit

通过实际操作可以证明:只要创建多个分支,就可以在不互相影响的情况下同时进行多个功能的开发

3.3 git merge 合并分支

合并时加上 --no–ff 参数,可以保存之前的分支历史

$ git merge --no-ff feature
로그인 후 복사

随后编辑器会启动,用于录入合并提交的信息

3.4 git log --graph 以图标的形式查看分支

$ git log --graph
로그인 후 복사

4. 更改提交的操作

4.1 git reset 回溯历史版本

$ git reset --hard 目标时间点的hash值
로그인 후 복사

通过 git reflog

id_rsa 파일이 프라이빗 키이고, id_rsa.pub가 공개 키입니다.

$ git reflog
로그인 후 복사

ssh-rsa 공개키 내용 your_email@example.com

  • 그런 다음 공개키를 복사하여 계정에 추가하세요. 이전 ssh-rsa도 복사하세요. 아바타》설정》SSH 키》새 SSH 키
  • 다음을 확인하고 "성공"이라는 단어가 나타나면 성공을 의미합니다
    $ git commit --amend
    로그인 후 복사
  • 2. 기본 git 작업

2.1 git clone 기존 Warehouse

git rebase -i HEAD~2
로그인 후 복사

여기서 GitHub에 설정된 공개 키의 비밀번호를 입력하라는 메시지가 표시됩니다. 인증에 성공하면 웨어하우스가 현재 디렉터리에 복제됩니다.

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개를 대상으로 일정을 선택하고 편집기에서 열 수 있습니다🎜

5 推送至远程仓库

5.1 git remote add 添加远程仓库

在创建新仓库的时候,建议不要勾选 README.md 文件,这样会使本地仓库和远程仓库失去整合性。虽然到时候可以强制覆盖,但防止这一情况发生,还是不要勾选,就创建一个空仓库就好。

git remote 在先写代码,后创建仓库的情况下能较好的使用

$ git remote add origin git@github.com:github-book/git-tutorial.git
로그인 후 복사
로그인 후 복사

对于一般先创仓库,后写代码的,需要先 pull 下来仓库,再对文件进行修改

5.2 git push 推送至远程仓库

推送至 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
로그인 후 복사
로그인 후 복사

6 从远程仓库中获取

6.1 git clone 获取远程仓库

$ git clone git仓库地址
로그인 후 복사
로그인 후 복사

将本地的 feature-D 分支更新到最新状态

$ git pull origin feature-D
로그인 후 복사
로그인 후 복사
  • 多名开发者在同一个分支中进行作业时,为减少冲突情况的发生,建议更频繁的进行 push 和 pull 操作

推荐学习:《Git教程

위 내용은 20분 안에 git의 기본 사용법을 이해하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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