草庐IT

git - 如何通过管道将 git clone 传输到存档(tar 或 gzip)

我正在尝试为远程托管的git存储库制作一个简单的备份脚本。在脚本中,我有几行目前看起来像这样:gitclonegit@server:repo.git$DESTtarczvfrepo.tgz$DESTrm-rf$DEST有没有办法让这一切在一行中发生?我可以将gitclone通过管道传输到tar命令吗?我不需要克隆的目录,我只需要它的压缩存档。我尝试了一些实验,但似乎无法弄清楚语法。 最佳答案 不,你不能只是管道gitclone因为它不会将它写到标准输出。为什么你需要单线?他们非常适合吹嘘您可以在一行中做一些很酷的事情,但在现实世界中

git - 为什么两次压缩相同的内容会得到两个具有不同 SHA1 的文件?

我遇到了一个关于git和zip文件的奇怪问题。我的构建脚本需要一堆文档html页面并将它们压缩到一个docs.zip中,然后我将这个文件检入到git中。我遇到的问题是,每次我重新运行构建脚本并获得一个新的zip文件时,新的zip文件的SHA1与之前运行的不同。我的构建脚本正在调用antzip任务。但是,如果我两次压缩同一目录,从MacOSXshell手动调用macOSXzip会给我一个不同的sha1。运行1:zipfoo.zip*opensslsha1foo.ziprmfoo.zip运行2:zipfoo.zip*opensslsha1foo.zip运行1和运行2给出不同的SHA1,即使

git - 为什么两次压缩相同的内容会得到两个具有不同 SHA1 的文件?

我遇到了一个关于git和zip文件的奇怪问题。我的构建脚本需要一堆文档html页面并将它们压缩到一个docs.zip中,然后我将这个文件检入到git中。我遇到的问题是,每次我重新运行构建脚本并获得一个新的zip文件时,新的zip文件的SHA1与之前运行的不同。我的构建脚本正在调用antzip任务。但是,如果我两次压缩同一目录,从MacOSXshell手动调用macOSXzip会给我一个不同的sha1。运行1:zipfoo.zip*opensslsha1foo.ziprmfoo.zip运行2:zipfoo.zip*opensslsha1foo.zip运行1和运行2给出不同的SHA1,即使

git - 如何使用命令行工具 DEFLATE 来提取 git 对象?

我正在寻找DEFLATE算法的命令行包装器。我有一个使用DEFLATE压缩的文件(gitblob),我想解压它。gzip命令似乎没有直接使用DEFLATE算法的选项,而不是gzip格式。理想情况下,我正在寻找可以执行此操作的标准Unix/Linux工具。编辑:这是我尝试使用gzip解决我的问题时得到的输出:$cat.git/objects/c0/fb67ab3fda7909000da003f4b2ce50a53f43e7|gunzipgzip:stdin:notingzipformat 最佳答案 类似下面的内容将打印原始内容,包括“

git - 如何使用命令行工具 DEFLATE 来提取 git 对象?

我正在寻找DEFLATE算法的命令行包装器。我有一个使用DEFLATE压缩的文件(gitblob),我想解压它。gzip命令似乎没有直接使用DEFLATE算法的选项,而不是gzip格式。理想情况下,我正在寻找可以执行此操作的标准Unix/Linux工具。编辑:这是我尝试使用gzip解决我的问题时得到的输出:$cat.git/objects/c0/fb67ab3fda7909000da003f4b2ce50a53f43e7|gunzipgzip:stdin:notingzipformat 最佳答案 类似下面的内容将打印原始内容,包括“

linux - Bash - 如何归档和压缩子目录中的文件,但只能使用特定的文件名

我的目录结构如下:main_directory/directory1:sub_directory1:files:myfile.txtotherfile.txtsub_directory2:files:myfile.txtotherfile.txtsub_directory3:files:myfile.txtotherfile.txtsub_directory4:files:myfile.txtotherfile.txtdirectory2:sub_directory1:files:myfile.txtotherfile.txtsub_directory2:files:myfile.tx

linux - Bash - 如何归档和压缩子目录中的文件,但只能使用特定的文件名

我的目录结构如下:main_directory/directory1:sub_directory1:files:myfile.txtotherfile.txtsub_directory2:files:myfile.txtotherfile.txtsub_directory3:files:myfile.txtotherfile.txtsub_directory4:files:myfile.txtotherfile.txtdirectory2:sub_directory1:files:myfile.txtotherfile.txtsub_directory2:files:myfile.tx

windows - Cygwin 和在 Windows 上复制 Linux 命令的替代方法

我一直在使用.bat脚本遇到问题,我想编写脚本来自动执行一些与我的PHP应用程序设置相关的任务。例如,我不能做简单的wget来下载文件等等。我听说通过安装Cygwin,用户应该能够访问所有与linux相关的命令,所以我的脚本将毫无问题地运行。另一种方法是让用户下载我在脚本中使用的每个GnuWin32版本的命令,例如wget、gzip、diff但这听起来比安装单个Cygwin程序。有人可以在这里推荐最简单的方法吗?Cygwin是标准的还是有更简单的替代方法。 最佳答案 我还没有听说过Cygwin的替代品,根据我个人的经验,它似乎可以完

windows - Cygwin 和在 Windows 上复制 Linux 命令的替代方法

我一直在使用.bat脚本遇到问题,我想编写脚本来自动执行一些与我的PHP应用程序设置相关的任务。例如,我不能做简单的wget来下载文件等等。我听说通过安装Cygwin,用户应该能够访问所有与linux相关的命令,所以我的脚本将毫无问题地运行。另一种方法是让用户下载我在脚本中使用的每个GnuWin32版本的命令,例如wget、gzip、diff但这听起来比安装单个Cygwin程序。有人可以在这里推荐最简单的方法吗?Cygwin是标准的还是有更简单的替代方法。 最佳答案 我还没有听说过Cygwin的替代品,根据我个人的经验,它似乎可以完

linux - 将文件合二为一

目前我在这个目录中-/data/real/test当我在命令提示符下执行ls-lt时。我喜欢下面的东西-REALTIME_235000.dat.gzREALTIME_234800.dat.gzREALTIME_234600.dat.gzREALTIME_234400.dat.gzREALTIME_234200.dat.gz如何在Unix中将上述五个dat.gz文件合并为一个dat.gz文件而不会丢失任何数据。我是Unix的新手,对此我不确定。谁能帮我解决这个问题?更新:-我不确定我是否应该将五个文件中的每一个解压缩然后合并为一个文件,这是最好的方法吗?或者将所有这5个dat.gz组合成