我选择了一些带有git add. 我用以下方法验证它们git status:
$ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: Module2/test/user/UserIT.java
modified: Module2/pom.xml
Run Code Online (Sandbox Code Playgroud)
如果我检查git diff --cached,我会看到正确的内容。但是然后,我用: 提交git commit -m"My message",当我用 查看我的提交时git log -p -1,我看到:
commit fdfeb44fd6fa31e3495064c06777ef4587d3c76f (HEAD -> master)
Author: Orto <Orto@abc.com>
Date: Tue Sep 24 08:34:10 2019 +0200
My message
Module2/test/user/UserIT.java
Module2/pom.xml
someOtherUnrelatedFiles1
someOtherUnrelatedFiles2
Run Code Online (Sandbox Code Playgroud)
我不明白为什么someOtherUnrelatedFiles1会someOtherUnrelatedFiles2在这里? …
我正在尝试将一个分支与主分支合并,所以我检查了主分支,但现在它不允许我进行合并:
未跟踪的文件阻止签出 在签出之前移动或提交它们 .idea/vcs.xml
我无法移动或删除该文件,因为它会使 VCS 脱离该项目我无法提交它,因为当我尝试提交时它不是一个选项我无法切换到分支以查看我可以执行什么操作最后,因为我收到了相同的错误消息。
我该如何解决这个问题以及如何防止它再次发生?我是否需要一个 .gitignore 文件来设置排除 .idea 文件夹中的所有内容?
我正在尝试使用问题前缀来使我的提交格式如下所述
JIRA-ID: type(scope): Subject
Run Code Online (Sandbox Code Playgroud)
范围应该是可选的。这意味着以下是有效的消息
AAAA-12:修复(测试):修复了失败的测试
AAAA-12:修复:修复了失败的测试
以下是我的commitlint.config.js的样子
module.exports = {
extends: ['@commitlint/config-conventional'],
parserPreset: {
parserOpts: {
headerPattern: /^[A-Z]{1,4}-[0-9]{1,4}:\s(\w*)\((\w*)\):\s(.*)$/,
headerCorrespondence: ["type", "scope", "subject"],
issuePrefixes: ["^[A-Z]{1,4}-[0-9]{1,4}"],
referenceActions: ["xxx-"] // (!!)
}
},
rules: {
'references-empty': [2, 'never'],
'scope-empty': [1, 'never'],
...
...
}
}
Run Code Online (Sandbox Code Playgroud)
以下消息似乎无效。
AAAA-12: fix: fixed the failing test
Run Code Online (Sandbox Code Playgroud)
它迫使我使用空括号,如下所述。
AAAA-12(): fix: fixed the failing test
Run Code Online (Sandbox Code Playgroud) 如果我想确保 git 存储库中的每个提交都经过作者和第二个(甚至第三个)人的审查,是否可以对 git 提交进行多次签名?
(如果不是,我想下一个最好的事情是添加后续的、空的、签名的提交,但这似乎有点混乱)。
我遇到过这样的情况:git fsck调用返回多个损坏的链接。这是因为,对于此存储库,rm运行了一个命令并删除了多个写保护文件(发生了错误)。该存储库也没有最近的备份(再次犯了错误)。由于正在使用 Git,存储库并未完全丢失,但一些历史记录已被打乱。直到最近要重新同步到源时,这一点才被注意到,但由于历史记录被破坏,这一点失败了。
我想修复此历史记录(如果可能),以便它可以与上游源合并。我认识到我将无法取回完整的历史记录,因为某些文件刚刚消失,但我想在正常工作的情况下尽可能保留其中的内容。
我审阅了 Linus 的电子邮件“如何恢复损坏的 blob 对象”(麻省理工学院托管副本),并且还查看了:
与许多其他人一起,但我没有看到太多关于从提交到提交错误的断开链接的建议。请注意,我确实制作了此存储库的副本,因此我不会擦除任何内容。
的结果git fsck是
$ git fsck
broken link from commit <SHA1>
to commit <SHA2>
broken link from tree <SHA3>
to blob <SHA4>
...
dangling blob <SHA5>
missing commit <SHA2>
missing blob <SHA4>
...
Run Code Online (Sandbox Code Playgroud)
当我最终通过 git 历史记录时,git log我收到错误
error: Could not read <SHA2>
fatal: Failed to traverse parents of commit <SHA1>
Run Code Online (Sandbox Code Playgroud)
它靠近最后一个备份存在的位置,但不完全在那里,所以我没有重叠的覆盖范围。我想尝试反向遍历历史,认为我可以将日志从最旧的提交移动到最新的提交,但是
$ git log --reverse …Run Code Online (Sandbox Code Playgroud) Visual Studio Code 中有 3 个用于 Git 提交的命令:
\n它们之间有什么区别?
\n我希望Commit Staged能够正常工作git commit命令工作。
我\xe2\x80\x99ve发现Commit All也提交了未暂存和未跟踪的文件。(类似于在 \xe2\x80\x9cclassic\xe2\x80\x9d Visual Studio 中提交全部。)
\n但是,Commit是做什么的,它与上面的两个命令有何不同?
\n不幸的是,我没有找到任何关于此的文档或网页。git pull(我对和git fetch或提交 \xe2\x80\x93 修改或提交 \xe2\x80\x93之间的差异不感兴趣,因为大多数搜索表明 \xe2\x80\x93 所有这些都记录良好。Commit命令是德国文章Visual Studio Code (7): Git als Quellcodeverwaltung einsetzen 的综合列表中也缺失例如,
我有一个 git 操作,我必须确保是否没有任何内容要添加,然后不提交或推送。
但我如何检查是否有需要添加和提交的内容(如有必要)。
这是我目前的做法的一个例子:
on:
push:
branches:
- testing
name: Build
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
name: Check out current commit
- name: Install
run: npm install
- name: Build
run: npm run build
- name: Commit
run: |
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git add .
git commit -m "Build" -a
- name: Push
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: ${{ github.ref }}
Run Code Online (Sandbox Code Playgroud) 我正在使用 GitHub Actions 在 Windows、Linux 和 MacOS 上构建代码。我用来将我的存储库下载到每个服务器。但是,我不知道该存储库在哪里下载。我必须添加其他文件并将它们添加到存储库文件夹中才能使构建正常工作。actions/commit@v3@actions/checkout@v3curl
有谁知道每个服务器(Windows、Linux 和 MacOS)上的存储库在哪里下载?我在文档中找不到任何内容。如果路径是在环境变量中设置的,我更愿意使用它而不是对每个服务器的路径进行硬编码。actions/commit@v3@actions/checkout@v3
如果我使用 @commitlint/config-conventional,那么使用 Commmitlint 的第一条提交消息应该是什么?是壮举:第一次提交还是构建:第一次提交还是琐事:第一次提交?
我使用了 nx migrate 命令migrations.json在项目的根目录生成了一个文件。我已经进行了迁移并且成功了。
我已经提交了迁移所做的更改,现在考虑是否有必要保留该migrations.json文件,因为它的更改已经应用并提交了。
我正在考虑从存储库中删除该文件,甚至 gitignoring 它。删除该文件会以任何方式影响未来的迁移吗?
commit ×10
git ×4
git-commit ×2
github ×2
action ×1
commitlint ×1
corruption ×1
gitignore ×1
gnupg ×1
migration ×1
nomachine-nx ×1
recovery ×1
yaml ×1