Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git备份未跟踪的文件_Git_Github_Git Untracked - Fatal编程技术网

Git备份未跟踪的文件

Git备份未跟踪的文件,git,github,git-untracked,Git,Github,Git Untracked,我有一个由git管理的个人存储库。在那里,我有一个小项目,其中有我已经提交的跟踪文件,还有一些我想在不久的将来添加的未跟踪文件 那些未跟踪的文件在我的本地计算机中。我没有后援。我想知道从我的开发分支中为未跟踪的文件创建新分支是否是一种好的做法,我有master、development和我正在处理的每个功能一个分支 git checkout -b myuntrackedfiles develop git add <files> (each untracked file) git com

我有一个由git管理的个人存储库。在那里,我有一个小项目,其中有我已经提交的跟踪文件,还有一些我想在不久的将来添加的未跟踪文件

那些未跟踪的文件在我的本地计算机中。我没有后援。我想知道从我的开发分支中为未跟踪的文件创建新分支是否是一种好的做法,我有master、development和我正在处理的每个功能一个分支

git checkout -b myuntrackedfiles develop
git add <files> (each untracked file)
git commit -m "Backup"
git push origin myuntrackedfiles.
最后,我可以从未跟踪的分支中删除它们

    git checkout myuntrackedfiles
    git reset --soft HEAD~1
    git reset HEAD myfile1
    git reset HEAD myfile2
    git commit --amend
    git push origin myuntrackedfiles
并在本地删除未跟踪的文件


问题是:是否存在一种更好、更有效的方法来完成这个过程,或者这一种已经足够好了?

Git不是一个备份工具。最佳实践是提交项目运行所需的文件。但要小心,这些文件不需要修改,以便其他开发人员运行,也不需要在其他计算机上运行。此类更改应隔离到可在代码之外设置的配置,例如通过环境变量或可由应用程序在运行时读取的配置文件


您应该避免提交大型文件,例如应用程序使用的数据。相反,您可以使用Drop Box、OneDrive或Google Drive等工具备份这些文件。

Git不是备份工具。最佳实践是提交项目运行所需的文件。但要小心,这些文件不需要修改,以便其他开发人员运行,也不需要在其他计算机上运行。此类更改应隔离到可在代码之外设置的配置,例如通过环境变量或可由应用程序在运行时读取的配置文件


您应该避免提交大型文件,例如应用程序使用的数据。相反,您可以使用Drop Box、OneDrive或Google Drive等工具备份这些文件。

好吧,因为问题是未跟踪的文件

$ git ls-files --others --exclude-standard -z |\
xargs -0 tar rvf ~/backup-untracked.zip

好吧,问题是没有追踪的文件

$ git ls-files --others --exclude-standard -z |\
xargs -0 tar rvf ~/backup-untracked.zip

这些未跟踪的文件是什么?它们的用途是什么?将实际添加到项目中但不是现在的源文件。正在工作但不够好的文件不能被视为提交。这些未跟踪的文件是什么?它们的用途是什么?将实际添加到项目中但不是现在的源文件。正在工作但不够好的文件,不能被视为提交文件。我的场景是单个开发人员。未跟踪的文件是我尚未完成的文件,要考虑提交一个提交或文件,这些文件将被添加到项目中,但不在这个阶段中。有时我会为一个项目想出一个主意,但这只是一个需要修改的部分。我不想丢失密码。如果它没有被追踪,就意味着它在本地笔记本电脑或个人电脑上。谷歌硬盘和Dropbox都很好。我曾经用它们作为备份,因为有时我在几台机器上工作。但是使用一个工具来完成这项工作的想法看起来更好。@RogerManich对于任何正在进行的工作,创建一个新的分支。您可以提交此分支上未完成的文件。完成工作后,将分支合并到主分支中。这更多的是跟踪正在进行的工作,而不仅仅是备份文件,这正是git的目的。@RogerManich每次提交都不必是一个完成的功能,但它应该编译并运行。测试也应该在每次提交时通过。我的场景是单个开发人员。未跟踪的文件是我尚未完成的文件,要考虑提交一个提交或文件,这些文件将被添加到项目中,但不在这个阶段中。有时我会为一个项目想出一个主意,但这只是一个需要修改的部分。我不想丢失密码。如果它没有被追踪,就意味着它在本地笔记本电脑或个人电脑上。谷歌硬盘和Dropbox都很好。我曾经用它们作为备份,因为有时我在几台机器上工作。但是使用一个工具来完成这项工作的想法看起来更好。@RogerManich对于任何正在进行的工作,创建一个新的分支。您可以提交此分支上未完成的文件。完成工作后,将分支合并到主分支中。这更多的是跟踪正在进行的工作,而不仅仅是备份文件,这正是git的目的。@RogerManich每次提交都不必是一个完成的功能,但它应该编译并运行。此外,测试也应该在每次提交时通过。