• 技术文章 >开发工具 >git

    如何二十分钟搞懂git的基础使用

    长期闲置长期闲置2022-01-05 17:37:46转载110
    本篇文章给大家带来了git的基本使用相关知识,其中包括git的基本操作,分支操作以及更改提交的操作等等,希望对大家有帮助。

    1. 设置SSH Key

    设置 SSH Key 使得设备可以有权限访问账户里面的代码仓库

    $ ssh-keygen -t rsa -C "your_email@example.com"
    $ cat ~/.ssh/id_rsa.pub

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

    接下来验证一下,出现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 "记录一行提交信息"

    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 -

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

    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 查看当前仓库的操作日志,可以找到回溯历史之前的哈希值。只要不进行 git 的 GC(垃圾回收),就可以通过日志随意调取近期的历史状态。即便开发者错误执行了 git 操作,基本也可以用 git reflog 命令恢复到原先的状态。

    $ git reflog

    上面打印的是最近的操作,下面打印的是最旧的操作

    4.2 消除冲突

    如果对上一条提交信息不满意,可以使用 amend 参数进行修改

    $ git commit --amend

    4.3 git rebase -i 压缩历史

    在合并分支之前,如果发现已提交的内容中有些拼写错误,不妨提交一个修改,然后将这个修改包含到前一个提交之中,压缩成一个历史记录。

    git rebase -i HEAD~2

    可以选定档期按分支中包含 HEAD 在内的两个最新历史记录为对象,并在编辑器中打开

    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

    推荐学习:《Git教程

    以上就是如何二十分钟搞懂git的基础使用的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:CSDN,如有侵犯,请联系admin@php.cn删除
    专题推荐:git
    上一篇:十分钟带你整理Git和Github的详细入门教程 下一篇:git怎样取消全局配置

    相关文章推荐

    • git中暂存区和本地库的区别是什么• git中什么是merge• git是开源的吗• git怎样批量删除分支• git中rebase的用法是什么

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网