--
layout: blog
title: 'Git提交文件后和人合并pull提示幾個(gè)系統(tǒng)文件無法會被覆蓋無法合并'
date: 2017-06-01 12:11:34
categories: blog
tags: code
image: ''
lead-text: 'Git提交時(shí)遇到的坑'
最近項(xiàng)目在合作開發(fā)之后夹抗,都無法pull,報(bào)了這么一個(gè)錯(cuò)誤
Some untracked working tree files would be overwritten by Pull. Please move or remove them before you can Pull.
按照網(wǎng)上的 git stash 這種將當(dāng)前改動添加到緩存中不行哈街,因?yàn)榇藭r(shí)已經(jīng)沒有了要進(jìn)行緩存的東西了舆乔;經(jīng)過
多方查找之后找到使用
git clean -d -fx
將文件系統(tǒng)清理彤路,然后再次pull就能獲取遠(yuǎn)程倉庫了谈宛。clean命令將沒有tracked的文件刪除昂芜,這樣就不會和遠(yuǎn)程倉庫的相應(yīng)文件發(fā)生沖突導(dǎo)致無法pull了.
猜測:
前因:最開始使用git進(jìn)行版本管理的時(shí)候哄辣,所有人的代碼版本沒有進(jìn)行統(tǒng)一吐根,在gitignore的時(shí)候沒有統(tǒng)一的
設(shè)置忽略文件設(shè)置正歼,導(dǎo)致一開始上傳的文件中有很多系統(tǒng)文件,當(dāng)其他人pull下來另外一個(gè)人的項(xiàng)目之后就出現(xiàn)了各種混亂和不堪和錯(cuò)誤拷橘。
后面由于沒有整理和注意局义,當(dāng)一個(gè)人把自己的項(xiàng)目配置文件等上傳上去之后,和其他人的出現(xiàn)沖突冗疮,就導(dǎo)致了上面無法合并的問題萄唇。
解決:在出現(xiàn)這個(gè)問題之前,確保團(tuán)隊(duì)成員的項(xiàng)目版本一致赌厅,確保大家的gitignore文件相同穷绵,將項(xiàng)目配置文件忽略掉。
出現(xiàn)這個(gè)問題之后特愿,使用 git clean -d -fx 將本地倉庫進(jìn)行刪除修復(fù)仲墨,然后pull下來別的項(xiàng)目代碼勾缭,此時(shí)注意由于項(xiàng)目可能比較大導(dǎo)致文件刷新比較慢并且出現(xiàn)一些文件丟失的假象,此時(shí)需要耐心等待目养,然后將Android Studio進(jìn)行重啟俩由。
總結(jié):使用Git進(jìn)行項(xiàng)目管理,在開始時(shí)確保團(tuán)隊(duì)成員的忽略文件一致癌蚁;不能上傳項(xiàng)目的本地配置文件幻梯,團(tuán)隊(duì)中有人使用MacOS有人使用Windows的,并且可能版本不一樣導(dǎo)致這些問題