完整命令速查
cd /path/to/repository
git status
git fetch origin
git switch feature-std-dev
git pull --ff-only origin feature-std-dev
git merge origin/develop
git status
git diff --name-only --diff-filter=U
git diff --name-only --diff-filter=U -z | xargs -0 nvim
# 在 Neovim 中编辑、删除冲突标记并保存
git add inflammation-analysis.py
git add inflammation/models.py
git add tests/test_models.py
git diff --name-only --diff-filter=U
git diff --cached
git diff --check
python -m pytest
git commit -m "Merge develop into feature-std-dev and resolve conflicts"
git push origin feature-std-dev
git fetch origin
fetch 只更新远程分支引用,不会实际拉取代码
切换到 PR 的功能分支
git switch feature-std-dev
将 develop 合入功能分支
git merge origin/develop
方向很重要:
当前所在分支:feature-std-dev
合入的分支:origin/develop
这样解决冲突的提交会进入 feature-std-dev,之后 push 回去即可更新 PR,而不会直接修改 develop。
只列出冲突文件:
git diff --name-only --diff-filter=U
Neovim 打开冲突文件
一次打开全部冲突文件:
git diff --name-only --diff-filter=U -z | xargs -0 nvim
git remote -v
查看当前仓库配置了哪些远程仓库,以及对应地址。 典型输出:
origin git@github.com:user/project.git (fetch)
origin git@github.com:user/project.git (push)
含义:
origin:远程仓库的名称,通常默认叫originfetch:拉取代码时使用的地址push:推送代码时使用的地址-v:verbose,显示详细信息,即远程仓库 URL
git branch -a
查看仓库中的所有分支:
- 本地分支
- 远程跟踪分支 典型输出:
* main
dev
remotes/origin/main
remotes/origin/dev
含义:
* main:当前所在的本地分支是maindev:本地存在dev分支remotes/origin/main:远程仓库origin上的main分支在本地的跟踪记录-a:all,显示所有本地和远程分支