当前位置: 首页> 健康> 知识 > 高端网站建设找哪个公司_毕业设计网站选题_新闻发布最新新闻_怎么联系百度推广

高端网站建设找哪个公司_毕业设计网站选题_新闻发布最新新闻_怎么联系百度推广

时间:2025/8/3 10:12:26来源:https://blog.csdn.net/lycwhu/article/details/146079729 浏览次数:2次
高端网站建设找哪个公司_毕业设计网站选题_新闻发布最新新闻_怎么联系百度推广

如果希望将 docs 文件夹完全切换master 分支的状态,即:
删除 master 中不存在的文件
增加 master 中才有的文件
恢复 master 分支中的所有文件(如果本地有改动,也要覆盖)

你可以使用以下方法:


方法 1:使用 git checkout + git clean

git checkout master -- ./docs
git clean -df ./docs

解释:

  1. git checkout master -- ./docs
    • master 分支的 docs 目录检出到当前分支,会覆盖已有的相同文件,但不会删除当前分支多余的文件。
  2. git clean -df ./docs
    • 删除 master 没有的文件或目录-d 代表目录,-f 强制删除)。

方法 2:使用 git reset --hard

注意:此方法会丢失 docs 目录下的所有本地改动,谨慎使用!

git fetch origin  # 确保本地获取最新的 master 分支
git reset --hard origin/master -- ./docs

解释:

  • git reset --hard origin/master -- ./docs
    • 彻底将 docs 目录重置origin/master 的版本,
    • 删除本地改动,恢复 master 上的状态。

方法 3:删除并重新检出

如果 docs 目录的改动很混乱,直接删除然后重新检出:

rm -rf ./docs  # 删除整个 docs 目录
git checkout master -- ./docs  # 重新检出 master 的 docs 目录

优点:彻底清除本地所有文件,确保 docs 目录和 master 完全一致。
缺点:如果 docs 目录很大,可能影响性能。


方法 4:切换到 master 并重新创建分支

如果你当前的分支不重要,可以直接切回 master 并重新创建分支:

git checkout master
git checkout -b new-branch

这样 docs 目录就和 master 完全一致了。


哪种方法最好?

  • 如果有未提交改动,且不想丢失 → 方法 1 (checkout + clean)
  • 如果不介意丢失所有改动 → 方法 2 (reset --hard)
  • 如果想彻底清理后重新检出 → 方法 3 (rm -rf + checkout)
  • 如果可以重建分支 → 方法 4 (直接 checkout master)

如果你不确定是否有未提交的改动,建议先运行:

git status

如果有未提交的改动,先 git stash 备份,然后再操作:

git stash
# 运行上述操作
git stash pop  # 取回之前的改动(可选)

这样可以避免误删重要文件。

如果你希望 先切换 docs 目录到 master 的状态,然后再切换回当前分支的状态,可以按照以下步骤操作:


方法 1:使用 git stash(推荐)

如果 docs 目录的改动较多,最安全的方法是 先存储当前分支的 docs 目录状态,切换后再恢复:

# 1. 仅存储当前分支 `docs` 目录的修改
git stash push -m "Save docs before switching" -- docs# 2. 切换 `docs` 目录到 master 分支的状态
git checkout master -- docs
git clean -df docs  # 删除 master 中没有的文件# 3. 确保 `docs` 目录为 master 分支的最新状态
git reset --hard origin/master -- docs# ...(你可以在此时使用 master 版本的 docs 做你的操作)# 4. 恢复当前分支 `docs` 目录的状态
git stash pop

优点

  • 这不会影响 docs 之外的文件。
  • stash 让你可以随时恢复当前分支的 docs 目录状态。

方法 2:使用临时分支

如果你只是想临时切换到 master 版本的 docs,然后再回到当前分支:

# 1. 记录当前分支名称(假设当前分支是 feature-branch)
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)# 2. 切换 `docs` 目录到 master
git checkout master -- docs
git clean -df docs# ...(此时你可以操作 master 的 docs 目录)# 3. 切换回原来的分支,并恢复 docs
git checkout $CURRENT_BRANCH
git checkout $CURRENT_BRANCH -- docs

适用于

  • 你想在当前分支临时使用 masterdocs,但不想用 stash

方法 3:直接切换回当前分支

如果 docs 目录的改动不大,你可以直接切回当前分支,这样 docs 目录就会恢复:

# 记录当前分支
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)# 切换 `docs` 目录到 master
git checkout master -- docs
git clean -df docs# 切换回当前分支
git checkout $CURRENT_BRANCH

不过这样 不会恢复 docs 目录的本地修改,如果你想恢复,请使用 方法 1(stash)


总结

方法适用场景是否安全
git stashdocs 目录改动较多,希望恢复✅ 最安全
临时分支需要临时切换 docs,然后恢复⚠️ 可能有冲突
直接切回当前分支改动较少❌ 可能丢失修改

如果不确定,推荐方法 1(git stash,可以安全存储 docs 目录的改动,避免误删重要文件!🚀

关键字:高端网站建设找哪个公司_毕业设计网站选题_新闻发布最新新闻_怎么联系百度推广

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: