Git常用操作:基础命令、生成公钥、webhook同步

news/2025/3/15 0:58:39/

这里写目录标题

  • 下载安装GIT
  • 基础命令
    • 克隆
    • 初始化
    • 与仓库建立连接
    • 下拉代码
    • 提交代码
    • 清空本地缓存
  • 本地生成GIT公钥
  • webhook(本地-码云-服务器代码同步)

下载安装GIT

此处只介绍windows系统下的安装,linux一般都是自带git(自行百度)

下载Git 官方地址为:https://git-scm.com/download/wi
在这里插入图片描述
下载好对应的安装程序打开一路点击下一步即可,最终鼠标右侧菜单栏出现对应部分即为安装成功
在这里插入图片描述

  • 具体详细的安装教程请看https://www.cnblogs.com/ximiaomiao/p/7140456.html
  • 如何官网下载速度太慢请看https://blog.csdn.net/weixin_44198965/article/details/99686507

基础命令

记录下常用的git基础命令

克隆

git clone 仓库地址

其中仓库地址大概有两种

  • 其一类似于:https://gitee.com/******
  • 其二类似于:git@gitee.com:******,这种码云注册公钥后每次提交下拉就不用验证身份了

初始化

git init

与仓库建立连接

git remote add origin git@gitee.com******

下拉代码

通常命令

git pull

初始化仓库后的首次下拉,需要指定分支

git pull origin master

强制下拉

git fetch --all && git reset --hard origin/master && git pull

提交代码

检查当前代码差异

git status

提交所有修改

git add .

提交本次修改备注(描述一下这次提交改了什么东西,方便版本追溯)

git commit -m 'hello world'

通常提交命令

git push

初始化仓库后的首次提交

git push -u origin master

清空本地缓存

通常用于新增.gitignore文件中的排除文件

git rm -r --cached .

本地生成GIT公钥

将git公钥添加到码云可以让每次代码同步时无需校验身份;

生成本地公钥

ssh-keygen -t rsa -C "xxxxx@xxxxx.com"

注意:这里的 xxxxx@xxxxx.com 只是生成的 sshkey 的名称,并不约束或要求具体命名为某个邮箱。现网的大部分教程均讲解的使用邮箱生成,其一开始的初衷仅仅是为了便于辨识所以使用的邮箱。
查看公钥

cat ~/.ssh/id_rsa.pub

可能会用到全局注册

git config --global user.email  "you@example.com" //邮箱为你的注册码云账号时绑定的邮箱
git config --global user.name  "Your Name"        //用户名为你码云注册时的登录名

公钥示例

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6SAt7JIuZRXECYH+WKvDjPb6Zf22L2p6U******

webhook(本地-码云-服务器代码同步)

简单讲就是再提交代码到远程仓库时,项目生成环境自动同步最新的代码版本(我认为的热传递),下面以linux系统为例展示下本地--码云--项目服务器代码同步
1.进入码云网站注册/登录账户,码云传送门
在这里插入图片描述
注册时有个邮箱,不是邮箱注册的到设置里面设置一下,最终要拿到邮箱(设置-邮箱管理)和登录名(码云个人主页@后面的内容),相关码云位置随着码云更新可能会变

2.新建码云的项目仓库,此处可以拿到一个仓库地址例如:git@gitee.com:******
在这里插入图片描述
3.本地电脑安装git,根据上面生成公钥的方法拿到本地公钥(此处不展示),添加到码云,使用基础命令测试本地与码云的代码同步
在这里插入图片描述
4.本地无误后,进入linux服务器切换www用户

su www

可能会出现无法切换的情况,如下图:
在这里插入图片描述
这是因为用户的shell,禁止了www用户登录,修改/etc/passwd文件,将“/sbin /nologin”改成“/bin/bash”。(如下图):
在这里插入图片描述
2.创建项目根目录

mkdir new-working-system

目录名根据自己的项目自行更改,创建好后如下:
在这里插入图片描述

3.进入项目目录中,初始化仓库(注意要用www用户),生成服务器公钥添加到码云(不介绍)

cd new-working-system/

4.初始化仓库与远程仓库建立链接

git init
git remote add origin git@gitee.com:******
git pull origin master

如何git提示没有指定分支

git branch --set-upstream-to=origin/master master

5.测试一下服务器与码云的git同步效果,无误后在项目根目录提交webhook文件(此处php展示)

$cmd="git fetch --all && git reset --hard origin/master && git pull";
$r= shell_exec($cmd);
print_r($r);

6.将webhook文件的服务器访问地址添加至码云仓库中,添加后,修改文件进行测试,查看是否成功实现三端同步即可。
在这里插入图片描述


http://www.ppmy.cn/news/68489.html

相关文章

Windows下git和github的使用

介绍windows下的git和GitHub使用。 一、注册gihub账号 github官网:https://github.com 自行创建即可。 登录,create repository新建仓库一个测试库readme,创建完成。 二、git的安装 git官方网站:https://git-scm.com/ 选择Wi…

UNIAPP实战项目笔记70 购物车删除商品的前后端交互

UNIAPP实战项目笔记70 购物车删除商品的前后端交互 思路 需要用到vuex 传id值到后端,删除指定id购物车数据 案例截图 购物车商品编辑页面 代码 后端代码 index.js var express require(express); var router express.Router(); var connection require(../db/sql.js); va…

python进阶--月考三

python进阶--月考三 (一)装饰器(二)创建名为express.py文件,编写以下推导式(三)创建一个process_study.py 编写一个多进程程序(四)创建一个thread_study.py 编写一个多线…

代码随想录算法训练营第二十三天|669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树

目录 669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树 669. 修剪二叉搜索树 这道题目比较难,比 添加增加和删除节点难的多,建议先看视频理解。 题目链接/文章讲解: 代码随想录 题解思路: 多…

python和pycharm的安装(安装包免费下载共享)

说明: 本文内容包括Python和Pycharm安装。 一、python安装: python是一门编程语言,安装python是为了能在电脑上使用这门语言。 1、python下载 下载链接:https://pan.baidu.com/s/1mWsJjO8HngNQtINCzu0bBA 提取码:9…

Java中的SLF4J是什么?如何使用SLF4J进行日志管理

在Java开发中,日志管理是一个非常重要的问题。日志管理可以帮助开发人员更好地了解应用程序的运行情况,以及快速诊断和解决问题。而SLF4J是Java中最常用的日志管理框架之一。在本文中,我们将详细介绍SLF4J的概念和使用方法。 什么是SLF4J&am…

【Linux】进程信号捕捉

前言 在【Linux】进程信号及信号产生中,我们提到,进程接收到信号,并不是立刻处理,而是在合适的时候才执行相应的动作,那合适的时候是什么时候呢,进程捕捉信号的过程究竟是怎么样的呢?本篇博客就…

Vue2.x源码解析(二)

Compiler 函数 在Vue 2.0 中,Compiler 函数是 Vue 编译器的核心,它负责将 HTML 模板编译成渲染函数。这个函数被用于创建 Vue 实例或者组件。下面是 Compiler 函数的伪代码实现: function compile (template) {// 把模板转换成 AST&#xf…