Git 教程

[toc]

概念

仓库; 分支; 本地仓库; 远程仓库; 提交; 拉取; 推送; 工作目录; 暂存区; 标签; head 指针; 合并;

repository; branch; local repository; remote repository; commit; pull; push; work directory; cache; tag; head pointer; merge

vcs(version control system); scm(source code management )

从版本控制的需求出发,理解这种工具背后的思想方法.

去中心化的版本控制系统, 只要想要控制版本,多人协作.就需要查看不同版本,掌握进度, 合并版本.

工具有 subversion (svn) cvs mercurial(hg) git

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

These are common Git commands used in various situations:

start a working area (see also: git help tutorial) 准备工作
clone Clone a repository into a new directory
init Create an empty Git repository or reinitialize an existing one

work on the current change (see also: git help everyday) 日常
add Add file contents to the index
mv Move or rename a file, a directory, or a symlink
restore Restore working tree files
rm Remove files from the working tree and from the index

examine the history and state (see also: git help revisions) 修正
bisect Use binary search to find the commit that introduced a bug
diff Show changes between commits, commit and working tree, etc
grep Print lines matching a pattern
log Show commit logs 日志
show Show various types of objects
status Show the working tree status 状态

grow, mark and tweak your common history
branch List, create, or delete branches
commit Record changes to the repository
merge Join two or more development histories together
rebase Reapply commits on top of another base tip
reset Reset current HEAD to the specified state
switch Switch branches
tag Create, list, delete or verify a tag object signed with GPG

collaborate 协作 (see also: git help workflows) 工作流
fetch Download objects and refs from another repository
pull Fetch from and integrate with another repository or a local branch
push Update remote refs along with associated objects

常用的命令

init; clone; add; commit; pull; push; fetch; branch; checkout; config; log; status; remote;

代码托管平台

git 是协作工具,代码托管平台;

国外

  • bitbucket
  • GitHub
  • gitlab

国内

  • coding
  • 码云 gitee
  • gitcode

参考文献和教程

自带的

1
2
3
4
5
6
7
8
9
10
11
12
git help
git help --guide
* core-tutorial
* everyday
* faq
* glossary
* tutorial
* tutorial-2
workflows
* remote-helpers
git help git

网站

廖雪峰 的班组

pro-git 中文手册

GitHub 上的帮助文档,

Microsoft Learn 上也有git 的学习教程,边学习边练习.

基本 Git 命令 - Training | Microsoft Learn

网络上随便搜索都有教程.码云的帮助页面一堆,但是质量良莠不齐.

在学习这个工具之前,其实可以先从需求来思考,本身git 的很多操作方式只是自己的一套体系,当明白这些操作的目的是干什么的,就更容易把握.整体来看待.

创建一个项目; 然后开始工作; 一个人的话可能多台设备,需要进行进度协作. 一个人一台设备.只是考虑的备份和新旧版本的查看.不行就自己手工管理.需要每次版本更新留档记录. 两人或两台设备以上就需要考虑冲突问题. 远程仓库就是一个主要仓库,其实感觉上是两个分布式的仓库,同时都有工作进行.然后一个仓库算是远程的,用来备份的.然后两边各自开展还好,如果有同一个文件进行了修改,那就会发生冲突.或者两边的工作没法合并了.需要你时刻和远程仓库更新,两个仓库合并.

图像化的工具值了的

git; tortoise git; visual studio code 插件 git history gitgraph ; git kraken;

配置

1
2
3
4
git config --list # 查看已有配置
git config --global #
git config --global user.name "username"
git config --global user.email "email address"

关于 .gitignore 文件的配置

GitHub 的配置文件夹 .github 里边有关于 workflow 工作流的配置

vscode 的配置文件夹 中有关于 task.json run.json. 等等.

另外配置文件一般是json,toml.等等.yml也可以.

和GitHub 进行密钥绑定等等.这个工作看GitHub 文档 ssh 链接.网络可能不太好.

coding或者码云试试

创建仓库

1
2
3
4
5
6
git init 
git add . # 添加全部文件到暂存区
git commit # 提交
git diff --cached # 查看提交内容
git status # 查看状态
git log # 查看日志
1
git clone git@github.com:username/repositoryname.git
1
2
git log -p # 查看内容
git log --stat --summary # 查看总结

创建分支

1
2
3
4
5
6
7
8
9
10
11
12
git branch [branch name] # 新建分支
git checkout [branch name] # 切换到该分支
git checkout -b [branch name] # 切换到该分支并直接工作
git branch # 查看所有分支
git switch main # 切换分支 main/master 的区别
git merge [branch name] # 合并分支
git diff # 查看冲突
git merge [branch name] # 合并分支
git diff # 查看冲突的内容
gitk # 查看提交
git branch -d [branch name] # 删除分支

在不同分支进行不同的工作,然后合并分支,git tag version 标记版本.

协作

可以考虑两台电脑自己体验这个协作的流程

主分支 main 远程仓库

thinkbook: leeqh98 用户

thinkpad: liqh98 用户

在GitHub上使用时,可以考虑使用 gh 工具来完成,然后将这些都图形界面和命令行界面同时进行.

推送

`landscape``bash
git remote -v
git pull
git push -u origin main








## 日常

git add file

git commit -m "commit message"

[git tag version]
git show [tag name]

git push -u origin main
git pull origin main
git fetch
git checkout branchname

[learn git branch](https://help.gitee.com/learn-Git-Branching)
## work
git clone ; git init
### config
git branch; git remote; 
git branch new_branch; git branch -d delete_branch; git branch -m new_name_branch;
git remote -v; 
git switch branch_name
git branch --set-upstream-to=origin/main main

大模型的用途

智谱清言拿来写一些批处理或者 powershell 脚本感觉挺好的,直接先简单的测试一下,然后直接用.

  1. 用 ffmpeg 批量处理图片,格式转换的脚本
  2. 将不同类型的文件进行分批移动.

学习脚本的用途

计算机脚本辅助管理计算机系统,可以用脚本做一些重复性工作.

脚本语言

  • Powershell
  • cmd batch
  • bash
  • vba
  • vbs
  1. 计算机文件夹中的各类型的文件数量,
  2. 将文件夹中的文件按类型分类
  3. 对多媒体文件进行格式转换 ffmpeg

命令行工具

这些工具可以利用大模型来使用. 小众的工具没有足够的资料可能就不是很好使了. 而且也要先测试一下,不然可能丢失数据.

  • ffmpeg: ffmpeg
  • pandoc: pandoc
  • sumatrapdf: sumatrapdf
  • mupdf: mupdf mupdf-gl
  • image magick: magick
  • calibre:
  • tar:
  • curl
  • wget
  • aria2c
  • 7zip?

正则表达式

用来做电子书时批量命名之类

epub 电子书制作,制作目录等等,能自动化处理的最好.页码和目录的关系.

另外的一个用途可以是用来学习编程,直接让大模型写一些例子,然后自己学习学习.

下载清单

[toc]

计算机技术

  • 编程语言
  • 软件工程
  • 计算机组成
  • Web 开发
  • 操作系统

文学

  • 中国文学

    • 古代

    • 近代

      • 张爱玲
      • 鲁迅
      • 郭沫若
      • 巴金
      • 老舍
      • 茅盾
    • 现代

    • 当代

  • 美国文学
    *

    • 先锋文学
      *
  • 欧洲文学

    • 米兰昆德拉 捷克
    • 好兵帅克
  • 日本文学

  • 俄罗斯文学

  • 通俗文学

    • 推理
    • 科幻
  • 经典

    • 西方正典 推荐的书单
    • 如何阅读一本书 推荐书单
    • 南大推荐的书单
    • 系列书系

社科

  • 政治
  • 经济
  • 历史
  • 哲学
  • 军事

数学

  • 几何
  • 代数
    • 方程式
    • 线代
  • 分析
  • 组合
    • 不等式
    • 计数

在 Z library 捐款 $10, 然后999 * 30 = 2997? 接近三千本下载什么好,流量也不一定够

通过谷歌搜索书单 + 博客 查看别人的推荐,尽量原理机器人.

轻小说

  • [x] 这就是僵尸吗

  • [x] 零之使魔

    • [ ] 缺少7
  • [x] 刀剑神域

    • [ ] 本传
    • [ ] 进击篇
  • [ ] 如果有妹妹就好了

  • [ ] 绝对双刃

  • [ ] 埃罗芒阿老师

  • [ ] 我的妹妹不可能这么可爱

  • [x] 路人女主养成日记

  • [ ] 我的朋友很少

  • [x] 我的青春恋爱物语果然有问题

    • [ ] 缺12
  • [x] 弱势角色友崎君

  • [x] 想要成为影之实力者

  • [ ] 魔法禁书目录

    • [ ] 旧约
    • [ ] 新约
  • [ ] 发条精灵战记

  • [ ] 青春猪头少年不会梦到兔女郎

  • [ ] 樱花庄的宠物女孩

  • [ ] 凉宫春日的烦恼

  • [ ] 龙与虎

  • [ ] 不时轻声以俄语遮羞(没兴趣)

  • [ ] 狼与香辛料

  • [ ] 怕痛的我,把防御力点满

  • [ ] 义妹生活

  • [ ] 带着智慧型手机闯荡世界

  • [x] 异世界狂想曲

  • [ ] 继母的拖油瓶是我的前女友

  • [x] 从零开始的魔法书

    • [ ] 缺8
  • [ ] 在地下寻求邂逅是不是搞错了什么

  • [ ] 86-不存在的战区

  • [ ] re: 从零开始的异世界生活

  • [ ] 欢迎来到实力至上的教室

  • [x] 笨蛋测试召唤兽

  • [ ] 落第骑士英雄谭

  • [ ] 末日时在做什么?有没有空,可以来拯救吗?

  • [ ] 约会大作战

  • [ ] 无职转生

  • [ ] 剃须捡到高中生

  • [x] 幼女战记

  • [ ] 漆黑的子弹

  • [ ] 龙王的工作

  • [ ] 世界顶尖的暗杀者转生

  • [ ] 以为转生就能逃掉

  • [ ] 妹妹人生

  • [x] 游戏人生

  • [ ] 新妹魔王

  • [ ] 平凡职业成就世界最强

  • [ ] 为何无人记得我的世界

  • [ ] 问题儿童都来自异世界

  • [ ] 为美好的世界献上祝福

  • [ ] 线上游戏的老婆不可能是女生

  • [ ] 回复术士的重启人生

  • [x] 永生之酒

  • [ ] 无头骑士异闻录

  • [x] 奇诺之旅

  • [ ]

这本轻小说真厉害

待续

关于博客需要网上的部分

  • [ ] 中英文界面设置

  • [x] 主页 标签 分类 关于 归档 404 等页面的设置 2024-09-18 完成

  • [x] 数学公式插件设置 2024-09-21

  • [x] sitemap 插件安装

  • [ ] 首页侧边栏的设置

  • [ ] 版权页等等的设置

0%