banner
武大胆

武大胆

不能为这个世界留下些什么,但是却想在这个世界留下些什么!
bilibili
x
discord user
email
steam

工具篇-Git

是什么?#

能干什么?#

image

本地版本管理#

  • 记录查看 git reflog
  • 版本重置 git reset
  • 分支管理
    • 分支创建 git branch
    • 分支切换 git checkout
    • 分支合并 git merge

远程交互关联#

  • 拉取源码 git clone <git项目地址>
  • 关联远程仓库进行交互
    • 添加远程仓库 git remote add <别名> <地址>
    • 上传代码 git push <仓库别名> <分支名>
    • 下载代码 git pull <仓库别名> <分支名>
    • 分支关联 git branch --set-upstream-to=<远程仓库名称>/master master

如何使用?#

安装与配置#

  1. 下载与安装 git 客户端
  2. 设置 git 用户信息
git config --global user.name "wuxiangjun"
git config --global user.email "wuxiangjun1998@gmail.com"
#查看是否配置成功
git config --list
  1. 生成 git 密钥

默认在用户目录下的.ssh 目录里

ssh-keygen -t rsa -C "你的邮箱地址"

Tip

之后使用时如果需要上传或者修改远端仓库,则需要将公钥配置到远端仓库服务器上,而私钥由自己保留在客户端本机,以便于 Git 使用时完成校验。

本地基本使用#

Note

基本概念:

  • 工作区: 自己硬盘上实实在在的文件位置,通过 add 到暂存区;
  • 暂存区: 在真正确认提交之前,需要将文件保存到暂存区,之后确认了再 commit 到本地仓库;
  • 本地仓库: 是 git init 之后产生的.git 文件夹。

创建本地仓库和主分支#

  • git init:在当前目录生成一个本地仓库,并且默认创建一个 master 分支
  • git status:查看当前 git 仓库中文件的状态

提交到暂存区和本地仓库#

  • git add .:将当前目录下所有未追踪的文件添加到暂存区
  • git commit -m "提交说明":将暂存区文件提交到本地仓库
  • git commit -am:暂存 + 提交

版本重置#

  • git log:可以查看提交的记录,但是只能查看当前版本之前的日志
  • git reflog:可以查看所有提交的记录,包括当前版本之后的。【HEAD 标记,表示当前所在的版本】
  • git reset --hard HEAD^/记录编号:将文件回到某个版本下的状态【HEAD^ 表示前一个版本】

分支管理#

  • git branch <新分支名> <提交哈希>:加分支名表示创建分支, 不加表示显示当前所有分支
  • git switch/checkout(旧) <分支名>切换分支
  • git merge <分支名>合并分支,要改哪个分支,就先切过来,然后 merge 别的分支

关联交互使用#

Important

基本概念:

  • 平常在公司里,一般会用 gitlab 搭建一个公司内部的 git 服务器用于存放源码;
  • 需要和管理员沟通,获取账号权限,可能需要提供公钥,也可能是分配一个账号;
  • gitee 和 github:则是一个开源代码托管平台,相当于一个远程仓库。

创建和关联远程仓库#

  • 使用 Github 或者 Gitee 自行创建仓库
  • 将开始生成的公钥添加到远程仓库中
  • 测试:
    • ssh -T git@github.com
    • nslookup github.com

Warning

记事一则:

  • 使用 ssh -T git@github.com 正常验证通过,但是无法正常 git clone
  • 提示 ssh: Could not resolve hostname github.com: Non-recoverable failure in name resolution;
  • 折腾一天无果,powershell 正常解析 DNS,但是 git bash 始终无法正常使用,故添加 nslookup github.com命令测试;
  • 临时解决方案:使用 powershell 进行 git 命令操作。
  • git remote add <仓库别名> git 项目地址:添加一个远程仓库,并且给他取个名字

Tip

添加别名前可查看项目中已配置的远程仓库及其对应的 URL,如果发现名称已配置,可以根据需要修改或删除‌

  • git remote -v:查看当前关联的仓库
  • git remote rename origin new-origin:修改远程仓库别名
  • git remote set-url origin <new_path>:重置仓库地址
  • git remote remove origin:删仓库

拉取源码#

  • git clone git项目地址
  • git pull 仓库别名 分支名pull 实际上是 fetchmerge 的组合

上传源码#

  • git push 仓库别名 分支名:上传本地仓库的某某分支到关联的远程仓库
  • git push -u origin main:main:推送本地的main分支到远程仓库 origin,并且将本地的 main分支设置为跟踪远程的 main分支(即上游分支)
  • git branch --set-upstream-to=<仓库别名>/master master:同上,将默认的 push pull 的远程仓库 <仓库别名>/master 绑定到本地 master,之后 可以省略输入仓库名和分支名。

补充知识#

Git 工作流面面观 ——Gitflow 工作流

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。