前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GIT标签同步与使用SourceTree配置SSH

GIT标签同步与使用SourceTree配置SSH

作者头像
老猫-Leo
发布2023-12-11 20:45:54
2700
发布2023-12-11 20:45:54
举报
文章被收录于专栏:前端大全前端大全

本文主要介绍GIT标签同步脚本设置与使用SourceTree更方便的配置SSH 基本配置可以参考之前的Hexo搭建第5节

GIT标签同步

主要步骤

  1. 将 Git 操作脚本建立成 bat 文件
  2. 开启SourceTree,选择Tools→Options
  3. 点选Add,新增一个Custom Action
  4. 输入名称,选择刚刚 bat 文件位置
  5. 选择要带入的参数 $REPO
  6. 点击 Actions → Custom Actions → 选择自定义的操作

详细配置

复制下面的代码写成 .bat 文件

勾选(run command silently)

带入参数$REPO

代码语言:javascript
复制
git checkout master

git fetch --prune origin

git pull --rebase

cd %1

FOR /F %%i in ('git tag -l') DO git tag -d %%i

git fetch --tags origin

-----

cd %1

echo 'Remove all local tags'

FOR /F %%i in ('git tag -l') DO git tag -d %%i

echo 'Fetch tags from origin'

git fetch --tags origin

git同步原生标签命令可参考git指令

代码语言:javascript
复制
git tag | xargs git tag -d
git fetch --tags

循环更新子模块

此操作可以递归更新每个子模块,但不一定会 rebase 到子模块的最新 master (可能是 git 的 bug)

勾选(run command silently)

代码语言:javascript
复制
git submodule update --recursive --remote --rebase

使用SourceTree配置SSH

目的

  • git使用https协议,每次pull, push都要输入密码,相当的麻烦,使用ssh密钥可以省去每次输密码的步骤。
  • 通过 SSH 联机,压缩传输的数据,可以大幅加快联机传输速度。
  • 把所有传输的数据进行加密,有效防止远程管理过程中的信息泄露问题。

设定方法

产生个人的公钥与私钥

使用 SourceTree 内建的软件 PuTTY Key Generator 来产生一对密钥(PuTTY Key Generator在安装SourceTree 时一并安装,此处无需另外安装。)

  • 打开 SourceTree,点击菜单栏中的 Tools ,选取 Create or Import SSH Keys 打开 PuTTY Key Generator。
  • 点击 Generate 按钮
  • 在key方框内随机移动鼠标,直到方框内出现的进度条达到满格状态,此时密钥产生完成。
  • 密钥产生完成后,填写窗口中其他选项。
    • Key comment:批注(密钥产生时自动填充)
    • Key passphrase: 私钥密码,选填项,可不填。
    • Confirm passphrase: 再次输入密码确认
  • 保存,public key 和 private key 都要保存。
    • Save public key: 储存公钥,用于GitHub/Gitee配置。
    • Save private key: 储存私钥,用于本机连接远程仓库。
      • 储存时记得档名要连扩展名 .ppk 一并输入,否则不会有扩展名。
GitHub/Gitee 设定公钥
  • 登入 GitHub/Gitee,进入设置页面。
  • SSH/GPG 密钥切换页面,再点选管理 SSH密钥的增加密钥按钮。
  • 密钥名称可以自定义也可输入PuTTY Key Generator产生的 Key comment对应的内容,密钥内容处贴上产生出来的公钥内容。
  • 增加密钥按钮进行添加,成功后就可以在屏幕上看到新增的密钥。
本机设定私钥
  • 在计算机右下角右击Putty Authentication Agent,选择 View Keys
  • 在 Pagent Key List 窗口中,再点选 Add Key 按钮。
  • 将刚刚产生的私钥添加进来(如果在产生密钥时有输入密码,则此时会要求输入密码。)
  • 添加成功后,会显示刚添加进来的私钥。

使用 SourceTree 通过 SSH 联机 GitHub/Gitee

  • 登入GitHub/Gitee,点开一项目,复制要连接的 GitHub/Gitee 上的仓库的 SSH 位置。
  • 执行 SourceTree,在上方工具栏中点选 Clone。
  • 将刚刚找到的仓库位置粘贴,SourceTree 就会自动进行识别连接。
  • 此时会弹出是否要接受的提示框,选 YES。
  • 连接成功后,点击最下面的 Clone 按钮把文件下载下来,就开始使用啦!

使用OpenSSH

此方法可以解决 SourceTree Terminal 无法使用 SSH 的问题

亦可参考之前的Hexo搭建第5节

建立一对密钥

代码语言:javascript
复制
$ ssh-keygen -t rsa -C [这边可以打mail或者空着也行,这里将按照你提供的邮箱地址,创建一对密钥。]
Enter file in which to save the key (~/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

检查用户目录是否已经产生公钥与私钥

进入.ssh目录查看是否有密钥文件即可

代码语言:javascript
复制
~\.ssh

配置

  1. 打开 .pub 公钥文件,将内容导入到 Gitee/Github SSH设置中。
  2. 无 .pub 后缀为私钥文件,保存在本机即可。
  3. 在用户目录建立 config 文件,放入.ssh目录。(可略)

config内容

代码语言:javascript
复制
Host github/gitee ip
HostName github domain
IdentityFile ~/.ssh/id_rsa
User pandaoh

确认是否可连接成功,可以输入下面的命令ssh -T git@github.com看看设置是否成功

如果是下面的反馈:

代码语言:javascript
复制
The authenticity of host ‘github.com (207.97.227.239)’ can’t be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?

不要紧张,输入yes就好,然后会显示成功(successful)。

将 Source Tree 改用 OpenSSH 验证

  1. Tools→Options→SSH Client Configuration
  2. 将 SSH Client 改用 OpenSSH 其他不需调整

SourceTree 待办

跳过登录方法

将文件 accounts.json放入 %LocalAppData%\Atlassian\SourceTree\

  • accounts.json 内容
代码语言:javascript
复制
[
  {
    "$id": "1",
    "$type": "SourceTree.Api.Host.Identity.Model.IdentityAccount, SourceTree.Api.Host.Identity",
    "Authenticate": true,
    "HostInstance": {
      "$id": "2",
      "$type": "SourceTree.Host.Atlassianaccount.AtlassianAccountInstance, SourceTree.Host.AtlassianAccount",
      "Host": {
        "$id": "3",
        "$type": "SourceTree.Host.Atlassianaccount.AtlassianAccountHost, SourceTree.Host.AtlassianAccount",
        "Id": "atlassian account"
      },
      "BaseUrl": "https://id.atlassian.com/"
    },
    "Credentials": {
      "$id": "4",
      "$type": "SourceTree.Model.BasicAuthCredentials, SourceTree.Api.Account",
      "Username": "",
      "Email": null
    },
    "IsDefault": false
  }
 ]

配置 SSH(参考以上内容)

配置自定义 bat(参考以上内容)

更新版本

设置英文

取消 Pull 时快速合并

开启 Force-Push

配置个人信息与个性化设置

Stash 使用教程

使用另一用户信息提交教程

修改提交信息教程

  修改完成后,Force Push 到远端即可。

合并上一条提交教程

  修改完成后,Force Push 到远端即可。

回退版本教程

  修改完成后,Force Push 到远端即可。

以上教程均为 SourceTree 操作,其中修改过去的或者已提交的 commit 信息,原理基本都是修改了本地仓库的信息,再 Force Push 到远程。至于详细命令可参考 Git 教程

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-10-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • GIT标签同步
    • 主要步骤
      • 详细配置
        • 循环更新子模块
        • 使用SourceTree配置SSH
          • 目的
            • 设定方法
              • 产生个人的公钥与私钥
              • GitHub/Gitee 设定公钥
              • 本机设定私钥
            • 使用 SourceTree 通过 SSH 联机 GitHub/Gitee
            • 使用OpenSSH
              • 建立一对密钥
                • 检查用户目录是否已经产生公钥与私钥
                  • 将 Source Tree 改用 OpenSSH 验证
                  • SourceTree 待办
                    • 跳过登录方法
                      • 配置 SSH(参考以上内容)
                        • 配置自定义 bat(参考以上内容)
                          • 更新版本
                            • 设置英文
                              • 取消 Pull 时快速合并
                                • 开启 Force-Push
                                  • 配置个人信息与个性化设置
                                    • Stash 使用教程
                                      • 使用另一用户信息提交教程
                                        • 修改提交信息教程
                                          • 合并上一条提交教程
                                            • 回退版本教程
                                            领券
                                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档