我想克隆一个包含巨大 .exe 文件的 GitHub 存储库。(为什么?!)我对 .exe 文件的使用为零,它比其他所有文件的总和还要大得多。克隆文件时有没有办法忽略该文件?
我的猜测是,我会更幸运地要求作者制作一个无 exe 的分支!希望有一些不错的方法可以解决这个问题。
我是git的新手,并试图围绕分支的工作方式.根据文档git checkout
更新工作树中的文件以匹配索引或指定树中的版本.如果>没有给出路径,git checkout也会更新HEAD以将指定的分支设置为>当前分支.
所以据我所知,我工作的目录中的文件(我执行git init的文件)应该根据我所在的分支进行更改.我很困惑,因为当我在分支之间切换时不会发生这种情况.在切换分支之前我正在编辑的编辑存在于我切换到的分支中.我做错了什么或git checkout不能这样工作,我只是误解了文档?
我正在使用Jenkins/Git查看Grails项目.Grails项目位于我查看的Git项目的子目录中.
因此,当Git进行结账时,我最终会这样做
.jenkins/jobs/my_jenkins_job/workspace/git_base_dir/grails_project_dir/grails_files
Run Code Online (Sandbox Code Playgroud)
在我的文件系统上
我想要:
.jenkins/jobs/my_jenkins_job/workspace/grails_files
Run Code Online (Sandbox Code Playgroud)
现在我可以运行一个shell来移动文件,但我更喜欢更清洁的方式.
在Jenkins的分支说明符中,我尝试过:
develop/grails_project_dir/grails_files
Run Code Online (Sandbox Code Playgroud)
但这只是给出:
ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job.
Run Code Online (Sandbox Code Playgroud)
有什么办法可以让git插件只检查一个git项目中的特定文件夹吗?
谢谢
我一直在寻找一种方法来仅克隆我的一个项目的子目录。显然我找到了这个答案。它设计精良,分步解决方案很好地解释了如何实现这一点。现在最后它引用了这样的文档:
“稀疏签出”允许稀疏地填充工作目录。它使用skip-worktree位(参见git-update-index(1))来告诉Git工作目录上的文件是否值得查看。
我的问题是我无法理解这意味着什么。我从 Git 中学到的一件事是,它是一个很棒的工具,但在实施某些操作之前,了解幕后发生的事情从长远来看确实可以帮助您。
所以,问题是:
稀疏结帐如何工作以及输出是什么?
我有一个包含大约20个文件夹的repo,当我从SVN转换为Git时创建.是否可以从Git存储库(在Bitbucket上)签出单个文件夹?或者我必须将每个文件夹作为单独的回购?
我已经丢失了所有分支的 git 中的所有项目数据,并且无法恢复。
我创建了三个分支:'master'、'distribution'和'remoteerp'(全部具有相同的代码,仅备份)并签出到remoteerp,然后我将稀疏签出配置配置为 true 并将/.git/info/sparse-checkout文件更新为/inoERP/inoerp/www/和/inoERP/inerp/inoerp-server。然后,我从 github 中提取了我的 fork-project,如下所示:
git remote add -f githubinoerp [github_url_to_my_fork_repo]
git pull githubinoerp master
Run Code Online (Sandbox Code Playgroud)
这会导致 License.txt 和 Copyright.txt 发生冲突,并且仅在工作目录中显示这些文件。由于我无法解决合并冲突(我仍在作为初学者学习 git),我只是尝试使用重置为旧状态,git reset --hard但它没有改变任何接受说类似sparse-checkout has changed your working directory. 随后检出其他分支(如分发和主分支)也不会显示原始文件。我已经在(签出后)所有分支上尝试过 git reset Head --hard 和 git reset --hard 但没有用。
我怎样才能将我的项目恢复到旧状态?
我已经通过 克隆了我的存储库git clone,现在我想签出一个文件夹。
源文件夹:/opt/XYZ/foldertochecout
并且应该检查一下
/var/www/foldertochecout
Run Code Online (Sandbox Code Playgroud)
这可能吗?如何实现?