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


目录
相关文章
|
开发工具 git 开发者
|
6月前
|
网络安全 开发工具 git
解决fatal:remote error:You can’t push to git://github.com/username/*.g
通过上述诊断与修复步骤,绝大多数的推送错误都能得到有效解决,确保您的Git工作流顺畅无阻。
384 1
|
开发工具 git
Git -- 代码上传错误 error: failed to push some refs to ‘[email protected]:JMFive/uni-shop2.git‘
Git -- 代码上传错误 error: failed to push some refs to ‘[email protected]:JMFive/uni-shop2.git‘
|
8月前
|
开发工具 git 索引
$ git revert -m v1.0.21 6003eb5f5b455f0a3dfb74f48f63878e7 error: option `mainline' expect
$ git revert -m v1.0.21 6003eb5f5b455f0a3dfb74f48f63878e7 error: option `mainline' expect
|
7月前
|
编译器 网络安全 开发工具
git学习五:切换本地仓库出现的问题。修改git配置初始化。error:src refspec master does not match any。错误总结,送上几个案例
这篇文章是关于Git使用中遇到的一些问题及其解决方案的总结,包括切换本地仓库时的问题、修改Git初始化配置、以及解决"error: src refspec master does not match any"错误等。
245 0
|
11月前
|
开发工具 git
|
11月前
|
开发工具 git
git error 已解决【Another git process seems to be running in this repository, e.g. an editor opened by】
git error 已解决【Another git process seems to be running in this repository, e.g. an editor opened by】
192 2
|
11月前
|
开发工具 git
出现“error: failed to push some refs to ‘https://github.com/****.git‘”,如何解决问题
出现“error: failed to push some refs to ‘https://github.com/****.git‘”,如何解决问题
1289 1
|
缓存 开发工具 git
Git Cloning into :error: RPC failed
Git Cloning into :error: RPC failed
176 0
|
JSON 开发工具 git
git rebase 合并当前分支的多个commit记录
git rebase 合并当前分支的多个commit记录
259 1
OSZAR »