想问问社区,我在这里采取的方法,以更新一个克隆文件夹从一个主人。
我有两个文件夹
我的主文件夹是一个“TFS解决方案”--它生活在自己的生态系统中,有自己的内部用户,而克隆人'Github‘则有自己的外部用户和自己的生态系统。
有了这个脚本,我要做的是保持克隆回购的最新变化的主人。
母版进行更改->克隆文件--发生的更改将得到更新
重要的是,我不要盲目地剪切和粘贴整个文件夹,从主人到克隆,每次我做一个改变,这是我做的脚本,它现在运行良好,但我想知道我的逻辑是否有任何漏洞,谢谢。
#Create path variables
$olddir = "C:\Data\Master"
$newdir = "C:\Users\Clone"
#Get the list of files in oldFolder
$oldfiles = Get-ChildItem -Recurse -path $olddir | Where-Object {-not ($_.PSIsContainer)}
#get the list of files in new folder
$newfiles = Get-ChildItem -Recurse -path $newdir | Where-Object {-not ($_.PSIsContainer)}
Compare-Object $newfiles $oldfiles -Property LastWriteTime -Passthru | sort LastWriteTime | foreach {
$fl = (($_.Fullname).ToString().Replace("$olddir","$newdir"))
$dir = Split-Path $fl
if ($fl -notlike '*\obj\Release\*'){
if( $_.Fullname -ne $fl){
If (!(Test-Path $dir)){
mkdir $dir
}
copy-item $_.Fullname $fl -Force
Write-Host "From to --> " $_.Fullname "TO --> " $fl
}}
}发布于 2018-10-31 18:32:27
在我看来挺结实的。有没有任何方法可以本地同步一个Git和TFS?我没有任何TFS的经验。
处理这一问题的另一种方法是将C:\Users\Clone\*.*的内容压缩到一个时间戳文件(例如: OldFiles_changed_01_01_2018_10_42_am.zip),然后复制新修改的回购文件--通过这种方式,您可以在C:\Users\Clone\中获得所做的每个更改的历史副本。(虽然,这有点多余,因为您在前端使用Git )
至于“最佳实践”--这在本质上仅仅意味着‘安全’--在我看来是很好的。就“在实践中”而言,这才是最适合你的方案。如果您不需要每次发生更改时都需要*.zip备份,那么原始脚本看起来很可靠。
https://stackoverflow.com/questions/53089686
复制相似问题