Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

一个简单的 git 使用笔记

1. revert 某个 commit

# 查看 git commit 记录,取得需要的 Hash 值(每一行第一个数字)
git log --oneline
# 执行 Revert
git revert <Hash 值>

如果有报错,先 git revert --abort ,以终止 revert

2. git 分支操作

git checkout -b <branch_name>  #新增分支
git switch <branch_name>  #切换分支
git branch #查看所有分支
git branch -d <branch_name> #删除某个分支

3. 与 upstream 同步和 merge conflicts 相关操作

  • 查看是否设置了远程库:(一般自己的远程库为 origin,上游远程库为 upstream)
git remote -v
  • 添加远程库(远程库地址是 https://仓库地址.git):
git remote add upstream https://仓库地址.git
  • 拉取官方版本的进展:==最好指定到稳定的版本名tag,谨慎更新到还不稳定的版本==
git fetch --tags upstream
git merge v1.0   #要升级的tag名 (例如V1.0)
  • 使用 git GUI,找到冲突的文件,找到文件地址,(在 git GUI 以外) 对冲突文件进行修改/删除。
git gui
  • 如果是删除了冲突文件,还需要使用 git rm 到/删除的文件/的路径 (或者直接使用一次 git add .
git add .
  • 进行 commit 合并,这里可能需要打开 GPG 程序(可能需要输入 GPG token,如果你设置过 commit 时加上GPG的话)
git commit -m "说明"
  • 推送到自己的远程库的新分支,避免出错影响原有的分支。如果设置了自动编译镜像,随后会远程编译镜像。
git push origin <远程新分支名>   #不需要这个远程分支已存在
  • 确认没有问题后,在自己的远程库上,创建新的 main 分支,同时也不要删除新出现的版本分支,保留就好了

4. 只 git clone 一部分内容

参考: Clone a folder in a Git repository with sparse-checkout

复制多个文件夹,要操作多次

git clone --no-checkout https://path/to/the/git/repository.git
cd blog-tutorials
git sparse-checkout init --cone
git sparse-checkout set 文件夹名
git checkout @

如果是子文件夹的子文件夹,需要写出路径

评论