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


目录
相关文章
|
17天前
|
Shell 网络安全 开发工具
项目快速导入git
本文介绍了如何在本地初始化 Git 仓库并将代码提交到远程仓库(如 GitHub 或 Gitee)的基本流程。内容包括安装 Git、创建仓库、添加文件、提交更改以及推送代码到远程仓库的详细步骤,适合初学者快速掌握 Git 的基本使用方法。
41 1
|
8月前
|
开发工具 git
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
428 69
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
|
7月前
|
安全 开发工具 git
git分布式版本控制系统及在码云上创建项目并pull和push
通过本文的介绍,我们详细讲解了Git的基本概念和工作流程,并展示了如何在码云上创建项目及进行pull和push操作。Git作为一种分布式版本控制系统,为开发者提供了强大的工具来管理代码变更和协作开发。希望本文能帮助您更好地理解和使用Git及码云,提高开发效率和代码质量。
229 18
|
7月前
|
安全 开发工具 git
git分布式版本控制系统及在码云上创建项目并pull和push
通过本文的介绍,我们详细讲解了Git的基本概念和工作流程,并展示了如何在码云上创建项目及进行pull和push操作。Git作为一种分布式版本控制系统,为开发者提供了强大的工具来管理代码变更和协作开发。希望本文能帮助您更好地理解和使用Git及码云,提高开发效率和代码质量。
155 16
|
11月前
|
Java Shell 开发工具
git集成IDEA,托管项目实现版本管理
git集成IDEA,托管项目实现版本管理
114 0
|
架构师 开发工具 git
项目去除git版本控制 去除版本控制
文章提供了去除本地项目Git版本控制的步骤,包括删除`.git`文件夹和`.idea`目录下的`vcs.xml`文件。
项目去除git版本控制 去除版本控制
|
jenkins 测试技术 开发工具
协同开发的艺术:Git 在团队项目中的高效应用
【8月更文第16天】在现代软件开发中,团队成员之间的高效协作是至关重要的。Git 作为一种分布式版本控制系统,为开发者提供了强大的工具来管理代码的变化和协作。本文将介绍如何利用 Git 来优化团队的工作流程,并提供实际操作的代码示例。
353 1
|
网络安全 开发工具 数据安全/隐私保护
Win10使用Git克隆项目出现fatal: Authentication failed for异常
Windows 10系统中使用Git克隆项目时出现"fatal: Authentication failed for"异常的解决方法,主要是通过修改凭据管理器中的Git凭据密码来解决因密码过期导致的身份验证失败问题。
586 0
Win10使用Git克隆项目出现fatal: Authentication failed for异常
|
安全 开发工具 git
coding上创建项目、创建代码仓库、将IDEA中的代码提交到coding上的代码仓库、Git的下载、IDEA上配置git
这篇文章是关于如何在IDEA中配置Git、在Coding.net上创建项目和代码仓库,并将IDEA中的代码提交到远程代码仓库的详细教程,涵盖了Git安装、IDEA配置、项目创建、代码提交等步骤。
coding上创建项目、创建代码仓库、将IDEA中的代码提交到coding上的代码仓库、Git的下载、IDEA上配置git
|
开发工具 git
使用Git拉取项目
使用Git拉取项目