Git基本使用

shuyepl 2022-07-04 19:47:12
Categories: Tags:

Linus基础命令

命令 作用
cd 改变当前目录
cd .. 回到上一一级目录
clear 清屏
pwd 显示当前目录路径
ls 列出当前目录中的所有文件
touch 新建一个文件
rm 删除文件
rm -r 删除一个文件夹
mkdir 新建一个文件夹
mv 移动文件
reset 重新初始化终端(加清屏)
history 查看使用命令历史
help 帮助
exit 退出
# 注释

注意:千万不要尝试rm -rf / (这是删除电脑中全部文件)

Git环境配置

查看环境配置:git config -l ,执行后按向下的方向键,可以查看更多配置,当看到最后的时候出现一个 (END) ,按q退出

image-20241104194556002

查看系统的本地配置:git config --system --list

查看全局配置(用户自己配置的):git config --global --list

Git相关文件配置位置(和上面用命令查看的结果一样):

设置自己的用户名和邮箱,用于后面提交文件
git config –global user.name “用户名”
git config –global user.email 使用的邮箱

Git项目搭建

初始化项目

git init(在当前目录下初始化一个项目,会创建出一些必要的文件。这是一个隐藏起来的文件,想看的话记得打开查看隐藏文件的选项)

关联远端仓库

git remote add origin <仓库http地址>

查看远端配置

git remote -v

fetch

git fetch <仓库http地址>

仓库克隆

(用这个也可以创建一个项目):git clone 项目的url

文件操作

下面操作的文件都是在Git项目根目录下创建的
查看文件状态:git status
将文件添加到暂存区:git add 文件名 或者 git add . (这里一点表示添加所有文件)
将文件添加到本地仓库:git commit -m “第一次提交”(-m表示添加提交信息,后面跟着的就是相应的信息)
添加忽略文件(有些文件我们并不需要上传,可以编写一个忽略文件控制我们不要上传哪一些文件):

忽略文件的相关配置

SSH公钥配置

在桌面上右键点击,选择 Git Bash Here ,在命令行中输入以下命令,生成秘钥, (-t rsa表示使用rsa这种加密算法)

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

之后输入三次回车,输入下面的命令切换目录

cd ~/.ssh

这条命令要在C:\Users\Administrator\.ssh文件下执行,输入下面的命令查看是否有 id_rsa 和 id_rsa.pub 这两个文件夹

ls

其中 ,id_rsa 是私钥,自己保存的,不能透露给其他人, id_rsa.pub 是公钥,将里面的内容复制到 Github 或者 Gitee 上的相应位置就配置成功了,现在,我们输入下面的命令查看公钥的内容

cat id_rsa.pub

将这条命令下面显示出来的内容全部复制

登录 Github ,在右上角用户头像那里的下拉菜单中选择 Settings

001

点击 New SSH key

002

上面的 Title 那里的内容是公钥的标题,随便写都可以,要是你想以后好辨认一点的话,也可以起个比较好的名字,下面的 Key 那里就将我们刚刚复制的内容粘贴上去就可以了,然后点击左下角的绿色按钮 Add SSH key

003

ignore文件编写

将工程上传Github上时可以选择性的上传一些文件,一些中间生成的文件我们可以不必上传,将其忽略,配置.gitignore文件即可实现上传时的自动过滤。
文件的书写可以参考上面文件操作中的内容,当然Github官网已经为我们写好了一些.gitignore文件的配置,直接粘贴复制就可以了(老cv工程师了)。
网址:https://github.com/github/gitignore

action 部署 github page

设置github的秘钥

用于action拉取代码构建

用户配置

graph LR
A(头像) --> B(Settings) 
B --> C(Develop Settings) 
C --> D(Personal access tokens)
D --> E("Tokens(classic)")
E --> F(Generate new token)
F --> G("Generate new token(classic)")

H(输入note) --> I(选择Expiration) --> J(勾选repo) --> K(Generate token) --> L(复制秘钥)

仓库配置

graph LR
repo(代码仓库) --> Settings --> secretAndVariables(Secret and variables) --> new(New repository secrets)

inputName(输入Name-要记住) --> 粘贴秘钥 --> addBtn(Add secret)

添加vite.config.js配置

export default defineConfig({
  base: 'static-utils',
})

添加.github/workflows/ci.yml文件,网上找一个

# 该workflow的名称,可以随意填写
name: Build And Deploy To Github Pages

# workflow的触发事件,这里代表main分支的push事件触发
on:
  push:
    branches: [ master ]

# 任务
jobs:
  # build-and-deploy 为任务的ID
  build-and-deploy:
    # 运行所需要的环境
    runs-on: ubuntu-latest 

    steps:
      # 步骤名
      - name: Checkout
        # 使用的actions脚本,这里是官方提供的获取源码脚本
        uses: actions/checkout@v2.3.1
        # 这个为使用 JamesIves/github-pages-deploy-action脚本所需要的配置
        with:
          persist-credentials: false

      # 执行npm脚本打包项目
      - name: Install and Build
        run: |
          npm install
          npm run build
      
      # 执行JamesIves/github-pages-deploy-action将项目发布到Github Pages
      - name: Deploy
        uses: JamesIves/github-pages-deploy-action@3.7.1
        with:
          # 该workflow需要操作repo,因此需要一个密钥
          ACCESS_TOKEN: ${{ secrets.STATIC_UTILS_ACCESS_TOKEN }}
          # 发布到的分支(github pages配置需要用到这个分支)
          BRANCH: staticUtils-pages
          # 要发布的文件夹
          FOLDER: dist

github官方创建一个仓库之后,给的关联本地项目指令,推送项目

git remote add origin <仓库http地址>
git branch -M master
git push -u origin master

github pages配置

graph LR
repo(代码仓库) --> Source --> choose(选择 Deploy from a branch) --> 选择Vue构建完成后推送的分支

打开页面

shuyep.github.io/staticUtils-pages

git push文件error: src refspec master does not match any

完整报错信息

error: src refspec master does not match any
error: failed to push some refs to 'https://github.com/ShuYePL/JavaWeb.git'

当时我写的 push 命令是 git push demo “master”
但是,在仓库中分支的名字是 main ,写错分支的名字导致发生了这个错误,改正后的命令如下

git push demo "master"

改正后就能成功上传了。


参考资料: