如何强制覆盖本地文件git pull?
方案如下:
这是我得到的错误:
错误:未经跟踪的工作树文件'public/images/icon.gif'将被合并覆盖
如何强制Git覆盖它们?这个人是设计师 - 通常我会手动解决所有冲突,因此服务器具有他们只需要在他们的计算机上更新的最新版本.
我正在尝试使用该cp命令并强制覆盖.
我试过了cp -rf /foo/* /bar,但仍然提示我确认每次覆盖.
这似乎是一个愚蠢的问题,但我只是如此好奇,并希望在谈论这个问题时使用正确的术语.在这里找不到类似的问题所以我决定创建一个新问题.
我们应该提到"替换实施"覆盖或覆盖吗?它是针对特定语言的吗?
以下命令复制并移动文件,但我还需要它来覆盖它正在替换的文件.
xcopy /s c:\mmyinbox\test.doc C:\myoutbox
Run Code Online (Sandbox Code Playgroud) 目前我正在使用这个:
f = open(filename, 'r+')
text = f.read()
text = re.sub('foobar', 'bar', text)
f.seek(0)
f.write(text)
f.close()
Run Code Online (Sandbox Code Playgroud)
但问题是旧文件比新文件大.所以我最终得到一个新文件,其中包含旧文件的一部分.
我有一个目录,'Dst Directory',里面有文件和文件夹,我有'src Directory',里面还有文件和文件夹.我想要做的是将'src Directory'的内容移动到'Dst Directory'并覆盖存在同名的任何文件.因此,例如'Src Directory\file.txt'需要移动到'Dst Directory \'并覆盖现有的file.txt.这同样适用于某些文件夹,移动文件夹并将内容与'dst目录'中的相同文件夹合并
我目前正在使用shutil.move将src的内容移动到dst,但是如果文件已经存在并且它不会合并文件夹,它将不会这样做; 它只是将文件夹放在现有文件夹中.
更新:使事情更清晰; 我正在做的是将存档解压缩到Dst目录,然后在那里移动Src目录的内容并重新压缩,有效地更新zip存档中的文件.这将重复添加新文件或新版本的文件等,这就是它需要覆盖和合并的原因
解决:我通过使用distutils.dir_util.copy_tree(src,dst)解决了我的问题,这将文件夹和文件从src目录复制到dst目录并覆盖/合并需要的地方.希望能帮助一些人!
希望有道理,谢谢!
我有两节课,Field和Background.他们看起来有点像这样:
class Field( object ):
def __init__( self, a, b ):
self.a = a
self.b = b
self.field = self.buildField()
def buildField( self ):
field = [0,0,0]
return field
class Background( Field ):
def __init__( self, a, b, c ):
super(Background, self).__init__( a, b )
self.field = self.buildField( c )
def buildField( self, c ):
field = [c]
return field
a, b, c = 0, 1, 2
background = Background( a, b, c )
Run Code Online (Sandbox Code Playgroud)
这个错误指向Field的buildField() …
以下代码允许我创建一个目录(如果它尚不存在).
dir = 'path_to_my_folder'
if not os.path.exists(dir):
os.makedirs(dir)
Run Code Online (Sandbox Code Playgroud)
程序将使用该文件夹将文本文件写入该文件夹.但是我想在下一次打开程序时从一个全新的空文件夹开始.
有没有办法覆盖文件夹(并创建一个具有相同名称的新文件夹),如果它已经存在?
我写的代码应该覆盖所选文本文件的内容,但它会附加它.我究竟做错了什么?
File fnew=new File("../playlist/"+existingPlaylist.getText()+".txt");
String source = textArea.getText();
System.out.println(source);
FileWriter f2;
try {
f2 = new FileWriter(fnew,false);
f2.write(source);
/*for (int i=0; i<source.length();i++)
{
if(source.charAt(i)=='\n')
f2.append(System.getProperty("line.separator"));
f2.append(source.charAt(i));
}*/
f2.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
编辑
我尝试制作一个新的temp.txt文件并将新内容写入其中,删除此文本文件并将temp.txt重命名为此文件.事实是,删除总是不成功.我不认为我必须为此更改用户权限吗?
此外,我的程序的一部分列出了该目录中的所有文件,因此我猜测它们正在被程序使用,因此无法删除.但为什么不覆盖?
解决了
我最大的"D'哦"时刻!我一直在Eclipse上编译它而不是cmd,这是我执行它的地方.所以我新编译的类转到bin文件夹,通过命令提示符编译的类文件在我的src文件夹中保持不变.我用我的新代码重新编译,它就像一个魅力.
File fold=new File("../playlist/"+existingPlaylist.getText()+".txt");
fold.delete();
File fnew=new File("../playlist/"+existingPlaylist.getText()+".txt");
String source = textArea.getText();
System.out.println(source);
try {
FileWriter f2 = new FileWriter(fnew, false);
f2.write(source);
f2.close();
} catch (IOException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud) 假设我想替换一堆文件中的版本号,其中许多文件存在于子目录中.我将通过gulp-replace管道文件来运行regex-replace函数; 但我最终会想要覆盖所有原始文件.
任务可能如下所示:
gulp.src([
'./bower.json',
'./package.json',
'./docs/content/data.yml',
/* ...and so on... */
])
.pipe(replace(/* ...replacement... */))
.pipe(gulp.dest(/* I DONT KNOW */);
Run Code Online (Sandbox Code Playgroud)
那么我怎样才能结束它,以便每个src文件在原始位置覆盖自己?有什么我可以传递到gulp.dest()这将做到这一点?
overwrite ×10
python ×4
file ×2
automation ×1
batch-file ×1
command-line ×1
cp ×1
directory ×1
filewriter ×1
git ×1
git-fetch ×1
git-pull ×1
gulp ×1
inheritance ×1
java ×1
linux ×1
methods ×1
move ×1
node.js ×1
overriding ×1
super ×1
terminology ×1
text-files ×1