目录:
- 本机环境
- 通过 Sourcetree 拉取代码时提示冲突信息
一、本机环境
本机系统: Mac
git: 2.24.1 # git --version 查看
二、通过 Sourcetree
拉取代码时提示冲突信息
原因:同分支下,其他伙伴修改的 xx
文件,本地也修改了 xx
文件
2.1、报错如下图
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAyMC8zLzI4LzE3MTIwMjk1MDdmNTliYzc?x-oss-process=image/format,png)
2.2 报错信息说明
error:
Your local changes to the following files would be overwritten by merge:
xxx/xxx/xxx.(提示的文件
)
Please, commit your changes or stash them before you can merge. Aborting
翻译如下:
对以下文件的本地更改将被合并覆盖:
请在合并之前提交更改或将其存储。中止
2.3 当然正常操作不能按照上述提示进行
应该需要先拉取代码
,再提交本地文件
解决办法:在项目目录下打开命令窗口
,参考 这 或 这里
打开终端方法一:在当前 Sourecetree
窗口右上角点击终端即可
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAyMC8zLzI4LzE3MTIwMzY4NTY4MTgxZTk?x-oss-process=image/format,png)
打开终端方法二: 双击本地仓库目录,选择 新建位于文件夹位置的终端窗口
输入以下命令:
git stash
git pull
git stash pop
git stash
: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
git stash pop
: 从 Git
栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个 stash
的内容,所以用栈来管理,pop
会从最近的一个 stash
中读取内容并恢复。
git stash list
: 显示 Git
栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash clear
: 清空 Git
栈。此时使用 gitg
等图形化工具会发现,原来 stash
的哪些节点都消失了。
2.4 解决,不过遇到一点小插曲
多了很多 .DS_Store
文件
.DS_Store
(英文全称 Desktop Services Store
) 是一种由苹果公司的 Mac OS X
操作系统所创造的隐藏文件,目的在于存贮目录的自定义属性,例如文件们的图标位置或者是背景色的选择。
解决办法:
1、删除 .DS_Store
:
- 需要删除磁盘上的
.DS_Store
,删除当前目录及其子目录下的所有 .DS_Store
文件:
find . -name '*.DS_Store' -type f -delete
2、在仓库目录下将 .DS_Store
加入到 .gitignore
3、禁用或启用自动生成:
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE // 禁止.DS_store生成
defaults delete com.apple.desktopservices DSDontWriteNetworkStores // 恢复.DS_store生成
写给自己的随笔,有问题欢迎指出