Git 拉取项目小技巧之切换分支error: The following untracked working tree files would be overwritten by checkout:

简介: Git 拉取项目小技巧之切换分支error: The following untracked working tree files would be overwritten by checkout:

第一步:


配置 SSH 密钥

云效代码管理 Codeup 的代码仓库支持 HTTP(S) 和 SSH 两种访问协议,SSH 协议可以实现安全的免密认证,且性能比 HTTP(S) 协议更好(因为 HTTP 是无状态协议,需要多次连接和交互)。在使用 SSH 协议操作代码仓库之前,首先需要生成并上传你的 SSH 公钥,完成 SSH 公钥和用户账号的对应。


1.创建 SSH 密钥


说明

注:如未安装 Git 客户端,请参见 Git 教学部分。

目前平台仅支持 RSA 算法生成的 SSH 密钥,在你的计算机命令行中首先执行以下语句,

判断是否已经存在本地公钥:

cat ~/.ssh/id_rsa.pub


如果返回一长串以 ssh-rsa 开头的字符串, 说明已存在本地公钥,你可以跳过以下 ssh-keygen 的步骤。


如果查询不到本地公钥,你可以按如下命令来生成 SSH 密钥 :

ssh-keygen -t rsa -C “<您的邮箱>”


该指令要求提供一个位置去存放公钥、私钥文件,您可以选择使用默认位置保存公钥、私钥文件。公钥文件以 .pub 扩展名结尾,可以公开给其他人,而没有 .pub 扩展名的私钥文件不要泄露给任何人!


说明

提示: 您可以选择使用口令保护私钥文件。如果您不想在每次使用 SSH 协议访问仓库时,都要输入用于保护私钥文件的口令,您可以在创建公钥、私钥文件时,输入空口令。

(Linux、Mac 下)可以用以下命令显示生成的公钥:

cat ~/.ssh/id_rsa.pub


复制公钥添加到个人设置 -「SSH 密钥」下,请完整拷贝从 ssh- 开始直到你的用户名和主机名为止的内容。


如果打算拷贝公钥到你的粘贴板下,请参考操作系统使用以下命令:

Windows:

clip < ~/.ssh/id_rsa.pub

Mac:

pbcopy < ~/.ssh/id_rsa.pub

GNU/Linux (requires xclip):

xclip -sel clip < ~/.ssh/id_rsa.pub


2.添加 SSH 密钥

点击个人设置-「SSH 密钥」展现 SSH 密钥设置弹窗。

将 1 中复制的 Key 粘贴到输入框中,同时给当前 Key 进行命名。

点击「添加 SSH 密钥」后当前 SSH 密钥设置完毕。3.png


设置成功后,你可以使用该 SSH 密钥进行代码的本地克隆、提交等操作。

第二步:4.png

微信图片_20220625130914.png

发现问题:

git下来的是master分支

想切换到dev但是会报如下错误


git checkout dev

error: The following untracked working tree files would be overwritten by checkout:

.idea/compiler.xml

.idea/encodings.xml

.idea/misc.xml

.idea/saveactions_settings.xml

Please move or remove them before you switch branches.

Aborting


解决方案:

5.png6.png

扩展解说:


error:The following untracked working tree files would be overwritten by merge,操作的目的是想把主分支的程序合并到子分支中,方便过几天上线的时候子分支合到主分支有什么冲突,可以提前解决一下。

注意 merge不成功执行完git clean -d -fx操作本地的修改都没有了。一定要注意,每次merge之前一定要把之前的修改git push 到当前分支的远端,万一merge不成功还可以回撤到merge之前的状态,不至于丢失本地的修改。


操作顺序如下:


在子分支中merge主分支的程序。此时有几个冲突文件,其中几个是配置文件直接拿主分支的替换就可以,还有几个是代码冲突,手动合并就行,此时想线切到主分支,把那几个配置文件拷贝出来,所以就有一下几步操作。

将合并的代码回撤Revert,此时是成功的。

切换到主分支Switch/CheckOut。切不回去了,提示:The following untracked working tree files would be overwritten by checkout,切不了分支那还是merge吧

执行merge操作,提示:error:The following untracked working tree files would be overwritten by merge


至此咋地都不行了。鼠标右键,右键菜单里Git Sync…选项也没有了。执行Git Commit,也没有任何需要提交的文件。于是就上网查怎么解决,最后查到了命令行:git clean -d -fx,作用是:删除没有git add 的文件 ,执行之后解决了 error: The following untracked working tree files would be overwritten by …的问题。

7.png




7.png


目录
相关文章
|
7月前
|
存储 安全 开发工具
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
689 4
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
|
4月前
|
开发工具 git
Git版本控制工具合并分支merge命令操作流程
通过以上步聚焦于技术性和操作层面指南(guidance), 可以有效管理项目版本控制(version control), 并促进团队协作(collaboration).
994 15
|
5月前
|
Shell 网络安全 开发工具
项目快速导入git
本文介绍了如何在本地初始化 Git 仓库并将代码提交到远程仓库(如 GitHub 或 Gitee)的基本流程。内容包括安装 Git、创建仓库、添加文件、提交更改以及推送代码到远程仓库的详细步骤,适合初学者快速掌握 Git 的基本使用方法。
633 1
|
11月前
|
开发工具 git 开发者
vscode+git解决远程分支合并冲突
通过这些详细步骤,您可以掌握如何使用VSCode和Git高效地解决远程分支合并冲突,提高开发效率和代码质量。希望这些内容对您的学习和工作有所帮助。
2795 86
|
11月前
|
安全 开发工具 git
git分布式版本控制系统及在码云上创建项目并pull和push
通过本文的介绍,我们详细讲解了Git的基本概念和工作流程,并展示了如何在码云上创建项目及进行pull和push操作。Git作为一种分布式版本控制系统,为开发者提供了强大的工具来管理代码变更和协作开发。希望本文能帮助您更好地理解和使用Git及码云,提高开发效率和代码质量。
555 18
|
11月前
|
安全 开发工具 git
git分布式版本控制系统及在码云上创建项目并pull和push
通过本文的介绍,我们详细讲解了Git的基本概念和工作流程,并展示了如何在码云上创建项目及进行pull和push操作。Git作为一种分布式版本控制系统,为开发者提供了强大的工具来管理代码变更和协作开发。希望本文能帮助您更好地理解和使用Git及码云,提高开发效率和代码质量。
366 16
|
存储 项目管理 开发工具
图解Git——分支开发工作流《Pro Git》
分支开发工作流利用Git的分支功能,支持灵活的项目管理。长期分支如`master`和`develop`分别保存稳定和开发中的代码;短期主题分支用于开发单一特性或修复问题,完成后合并到主分支。此模式确保代码稳定性,支持并行开发、便于审查和灵活调整。建议维护明确的长期分支,保持主题分支短小精悍,并定期清理无用分支。配置上可保护关键分支,遵循命名规范。
504 7
|
存储 缓存 Java
图解Git——远程分支《Pro Git》
远程分支是 Git 中用于管理分布式协作的关键概念。远程引用指向远程仓库中的分支和标签,常用 `git ls-remote` 或 `git remote show` 查看。日常开发中,通常使用远程跟踪分支(如 `origin/main`)与远程分支交互,简化远程仓库状态的管理和使用。远程跟踪分支记录远程分支的状态,但本身只读。
311 6
|
7月前
|
安全 开发工具 git
git的常用操作命令
git的常用操作命令
515 57
|
5月前
|
存储 缓存 开发工具
Git stash命令的详细使用说明及案例分析。
通过上述案例,我们看到stash命令能够在不丢失进度的情况下,帮助开发者临时切换开发上下文,这在处理多个任务或紧急bug时特别有用。正确使用Git stash可以大大提高开发的灵活性和效率。
2000 0