问题标签 [git-stage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - git:在合并期间提交分阶段的更改(没有合并冲突)
我们有一个项目(Microsoft Business Central),我们必须在其中进行非常大的合并,其中包含数千个合并冲突。当我们合并两个分支时,我们得到大约一半的更改作为分阶段更改(合并成功),大约一半作为合并冲突的更改。
我想在开始合并冲突之前提交这些分阶段的更改(因为合并冲突必须由不同的人解决)。不幸的是,当我尝试提交分阶段更改时,我得到了 git 错误
是否有可能只提交正在进行的合并的一部分?
git - Git 不暂存子目录中的 .mp4 文件
我一直面临 git 的这个问题,我试图将.mp4
文件上传到的子目录中,wwwroot/
但是每当我写作时git status
,它们都不会出现。
新的视频文件位于里面wwwroot/Content/Videos/ZoomEspecialista/
这个问题以前从未发生过。我上传了大约 10-15 个新.mp4
文件。
无论如何,在我的.gitignore
文件中,我不排除包含这些 .mp4 文件的文件夹。我已经检查了多次,看看是否有什么问题,但我认为问题出在其他地方。如果有人对如何解决这个问题有任何想法,那将非常感激。谢谢!
尽管已将文件上传到该子目录,但我从执行 git status 得到的唯一结果是:
编辑 2:这是我的 .gitignore 文件:
编辑3:此外,通过进一步研究,我发现我有两个隐藏文件夹.git
。一个位于我的存储库内,一个位于它之外。
内部回购
回购之外
git - 我可以在不使用一个命令将文件添加到索引的情况下标记文件以进行解析吗?
发生冲突时,git status
显示如下:
现在我可以git add some_file
按照命令的建议标记分辨率,但这也是 stage some_file
,我可能不想这样做。
如何在不将文件添加到索引的情况下标记文件以进行解析?两步很简单:
但是如果可能的话,我该如何一步完成呢?
如果最佳实践不建议这样做,请告诉我。
git - 如果我暂存一个文件,然后修改它并执行提交和推送,会发生什么?
因此,例如,如果我有一个文件index.html并更改一些行并执行git add index.html
. 然后我将再次修改index.html但不会进行阶段更改。并且做git commit
和git push
。我最后的更改会应用在commit
/中push
吗?
git - 为什么 git checkout 文件的行为类似于重置暂存文件,然后检出未暂存文件?
我在 git 文档中遇到过这个声明:
链接:https ://www.atlassian.com/git/tutorials/resetting-checking-out-and-reverting
部分:“Git 签出文件”
现在假设我有一个仓库和一个test.txt
文件
起初工作目录是干净的:
现在我修改 test.txt
、运行git add
并git status
显示:
现在我运行git checkout HEAD test.txt
并得到:
输出git status
:
根据文档,test.txt
索引中的版本应该保持不变,并且工作目录中的版本应该已经更改回 HEAD 指向的提交中的版本,从而导致工作之间的文件版本不同目录和索引——>在这种情况下不应该git status
输出什么?但git status
没有表明 - 为什么?
通常要从暂存文件到清理工作树,我必须先使用git reset HEAD <filename>
该git checkout HEAD <filename>
文件,但这里似乎两者都做?
我很困惑
编辑 - 有趣的是,如果在暂存文件后test.txt
我运行git checkout test.txt
而不是git checkout HEAD test.txt
得到:
即使这两种形式应该是等价的,而前者HEAD
也默认为(?)
我又糊涂了
git - 我可以在结帐后恢复分阶段的更改吗?
最近,我对 100 多个文件进行了许多更改。然后,不幸的是,我检查了以前的提交。结帐后,我的所有更改都消失了,不再可见(我正在使用 Fork 与 git 一起工作)。我的更改真的丢失了还是我可以恢复更改?
请帮忙!
git - 无法使用 git add 添加文件
我试图 git 添加一个文件。但是当我检查 git status 时,该文件仍被标记为“更改未暂存以进行提交”。我已经阅读了许多类似的问题,并且已经尝试了所有方法:
- 确保我在正确的存储库中
- 确保任何文件夹中没有其他 .git(没有子模块)
- 确保 .gitignore 中没有相应的条目(无论是本地还是全局/系统)
- 确保没有大写/小写错误
- 确保尝试所有变体 git add (-A, -u, ., *)
似乎仍然没有任何效果
这就是它的样子:
有什么想法,还有什么可以尝试的或者我可能错过了什么?
提前感谢您的帮助!
编辑:
当_build/
我运行jb-build systemtechnik-fuer-energieeffizienz
. 它包含(主要是,除了一些其他的东西,比如这些.doctree
文档)由文件夹中所有这些 jupyter notebook 创建的 jupyter book 的 html 输出nb/
(参见这里jupyter book)。所以它不是一个子模块(在我的理解子模块有一个自己的.git
文件夹,但是,里面_build/
没有这样的文件夹)
的输出
git rev-parse --show-toplevel
是:C:/Users/andre/Documents/GitLab/OER4EE_SYE/systemtechnik-fuer-energieeffizienz
git version
是git version 2.24.0.windows.2
的输出
git diff -- _build/.doctree/SYE.doctree
是:只是一个空行
的输出
git check-attr -a _build/.doctree/SYE.doctree
是:只是另一个空行
gitlab - 如何在 gitlab“阶段”中定义规则,以便无需为作业定义单独的规则
假设分阶段定义了 4 个作业。
阶段:
- 建造
- 测试
- 部署
- 上传
现在测试、部署和上传仅在管道手动触发时运行。我们可以为此定义单独作业的规则,但它会重复。(不想使用它)
是否可以在“阶段”上定义规则,以便一个作业将在自动触发器上运行,其余 3 个作业将在管道的手动触发器上运行。
git - 在 Git pre-commit 钩子中,临时删除所有不会提交的更改
我希望我的pre-commit
钩子在允许执行提交之前编译程序并运行所有自动测试。问题是通常我的工作副本在我提交时并不干净。它们不是我不想提交的暂存文件,甚至不是未跟踪的文件。有时我什至明确指定只提交几个与当前暂存的文件无关的文件。
当然,我只想编译和测试将要提交的更改,而忽略其他更改。它有3个步骤:
- 删除所有不会提交的更改。
- 运行测试。
- 将所有更改恢复到第一步之前的状态。
第一步可以通过运行来实现git stash push --include-untracked --keep-index
。存储条目也将有助于第三步。但是,当我提交未暂存的文件的明确列表时,我不知道该怎么做。
(第二步并不是问题的一部分。)
第 3 步理论上可以使用命令完成,git stash pop --index
但是如果某个文件被暂存,然后在没有再次暂存的情况下进行了更多更改,则此命令似乎容易发生冲突。
此脚本创建一个存储库,其中包含一些涵盖各种极端情况的文件和更改:
git - 是否可以从存储中应用单行?
我正在寻找一种在舞台中包含特定部分的方法。我正在使用 TIG 前端,因此该方法可能涉及一些低级偏移等计算。但是目前我不知道要计算什么。
有人知道如何将单行从藏匿处移动到舞台区域吗?