目录:
- 本机环境
- 通过 Sourcetree 拉取代码时提示冲突信息
一、本机环境
本机系统: Mac
git: 2.24.1 # git --version 查看
二、通过 Sourcetree
拉取代码时提示冲突信息
原因:同分支下,其他伙伴修改的
xx
文件,本地也修改了xx
文件
2.1、报错如下图
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
窗口右上角点击终端即可新建位于文件夹位置的终端窗口
输入以下命令:
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生成
写给自己的随笔,有问题欢迎指出