Git 实用技巧(按场景汇总)回退历史、新建空白分支等
本文最后更新于 2024年4月16日 晚上
git version 2.39.2.windows
1. 回退到历史 commit
回退分支历史是一个敏感的操作,需要小心谨慎。最好在备份、团队协商和测试的基础上进行操作,以避免不必要的问题。
将本地和远程分支回退到历史 commit 的过程涉及使用 Git 的命令来修改分支历史。请注意,在执行这些操作之前,务必备份你的代码,以防发生意外情况。以下为一般步骤:
查找历史 commit 的哈希值:使用
git log
命令查看提交历史并找到目标 commit 的哈希值创建备份分支(可选): 在执行任何回退操作之前,使用命令:
git branch backup-branch
创建一个分支来备份当前的状态本地分支回退: 使用以下命令将本地分支回退到历史 commit:
1
git reset --hard <commit-hash>
替换
<commit-hash>
为你想要回退到的历史 commit 的哈希。(!谨慎操作)远程分支回退: 强制推送(force push)本地分支更新远程分支(要求回退):
这将会覆盖远程分支的历史,可能会影响团队中其他人的工作,所以要小心使用。
1
git push origin <branch-name> --force
2. 修改远程仓库地址
修改远程仓库地址可能会影响团队协作,需要谨慎操作。
在实际开发工作中,可能会由于远程仓库迁移等原因导致我们需要修改远程仓库的地址,以下为具体步骤:
1 |
|
3. 新建空白分支
参考:Git - git-switch Documentation: https://git-scm.com/docs/git-switch/zh_HANS-CN
使用 --orphan
参数,创建一条不基于任何现有提交的空白分支。其初始提交(即 HEAD)不指向任何父提交,从而形成一个独立的、空的历史记录。
1 |
|
4. 从 Git 中停止追踪「被追踪的文件」
若误将 .idea
, .vscode
中的本地配置文件添加到 git 中,会导致每次编译时,IDE 会提示 git 修改。为了减少/消除提示,需要将该文件取消追踪,但不能将其从本地删除,以取消对 workspace.xml
文件的追踪为例:
停止追踪文件
1
git rm --cached .idea/workspace.xml
更新
.gitignore
文件,添加.idea/workspace.xml
提交更改
1
2git add .
git commit -m "Update .gitignore"
5. 重命名分支
例如将 mian 分支重命名为 astrowind
1 |
|
如果需要把改动推送到远程仓库,请执行以下命令
1 |
|
6. Git 克隆特定分支
克隆仓库中的某个特定分支:
1 |
|
7. 从已克隆的主分支拉取其他分支
如果已经克隆了仓库的 main
分支,但希望拉取 develop
分支,可以按照以下步骤操作:
切换到仓库目录:
1
cd /path/to/your/repository
检查并清理工作目录:确保没有未提交的更改,如果有未提交的更改,提交或暂存它们。
1
git status
从远程仓库获取所有分支的最新信息:
1
git fetch origin
如果本地没有
develop
分支,创建并检出(checkout)本地的develop
分支:1
git switch -c develop origin/develop
若本地已有
develop
分支并需要更新:1
2git switch develop
git pull origin develop
- ID: B2-V5+1.2.0
- 原文:https://blog.cc01cc.cn/2024/04/15/practical-skills-for-git/
- 署名:零一/cc01cc(zeo): https://github.com/cc01cc/
- 本作品采用署名-相同方式共享 4.0 国际(CC BY-SA 4.0 DEED)许可证进行许可,转载请标明源地址,谢谢