xChar

是什么?

能干什么?

本地版本管理

  • 记录查看 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 "[email protected]"
#查看是否配置成功
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 自行创建仓库
  • 将开始生成的公钥添加到远程仓库中
  • 测试:

[!WARNING]
记事一则:

  • 使用 ssh -T [email protected] 正常验证通过,但是无法正常 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工作流

Loading comments...