标签: commit

为什么 git 提交的文件不在我的暂存区域?

我选择了一些带有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)

我不明白为什么someOtherUnrelatedFiles1someOtherUnrelatedFiles2在这里? …

git commit

5
推荐指数
0
解决办法
125
查看次数

“未跟踪的文件阻止结帐”(除了 vcs.xml)

我正在尝试将一个分支与主分支合并,所以我检查了主分支,但现在它不允许我进行合并:

未跟踪的文件阻止签出 在签出之前移动或提交它们 .idea/vcs.xml

我无法移动或删除该文件,因为它会使 VCS 脱离该项目我无法提交它,因为当我尝试提交时它不是一个选项我无法切换到分支以查看我可以执行什么操作最后,因为我收到了相同的错误消息。

我该如何解决这个问题以及如何防止它再次发生?我是否需要一个 .gitignore 文件来设置排除 .idea 文件夹中的所有内容?

git commit intellij-idea

5
推荐指数
1
解决办法
1万
查看次数

commitlint 无法使范围可选

我正在尝试使用问题前缀来使我的提交格式如下所述

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)

commit github github-actions

5
推荐指数
1
解决办法
3390
查看次数

审阅者可以将他们的签名添加到特定的 git 提交中吗?

如果我想确保 git 存储库中的每个提交都经过作者和第二个(甚至第三个)人的审查,是否可以对 git 提交进行多次签名?

(如果不是,我想下一个最好的事情是添加后续的、空的、签名的提交,但这似乎有点混乱)。

git commit gnupg

5
推荐指数
1
解决办法
586
查看次数

修复从提交到提交的 git 损坏链接

我遇到过这样的情况:git fsck调用返回多个损坏的链接。这是因为,对于此存储库,rm运行了一个命令并删除了多个写保护文件(发生了错误)。该存储库也没有最近的备份(再次犯了错误)。由于正在使用 Git,存储库并未完全丢失,但一些历史记录已被打乱。直到最近要重新同步到源时,这一点才被注意到,但由于历史记录被破坏,这一点失败了。

我想修复此历史记录(如果可能),以便它可以与上游源合并。我认识到我将无法取回完整的历史记录,因为某些文件刚刚消失,但我想在正常工作的情况下尽可能保留其中的内容。

我审阅了 Linus 的电子邮件“如何恢复损坏的 blob 对象”(麻省理工学院托管副本),并且还查看了:

如何恢复因硬盘故障而损坏的 Git 对象?

修复损坏的 Git 存储库

与许多其他人一起,但我没有看到太多关于从提交到提交错误的断开链接的建议。请注意,我确实制作了此存储库的副本,因此我不会擦除任何内容。

的结果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)

git recovery commit corruption

5
推荐指数
2
解决办法
2264
查看次数

VS Code 中提交、提交暂存和全部提交之间的区别

Visual Studio Code 中有 3 个用于 Git 提交的命令:

\n
    \n
  • 犯罪
  • \n
  • 提交分阶段
  • \n
  • 全部提交
  • \n
\n

\n

它们之间有什么区别?

\n\n

不幸的是,我没有找到任何关于此的文档或网页。git pull(我对和git fetch提交 \xe2\x80\x93 修改提交 \xe2\x80\x93之间的差异不感兴趣,因为大多数搜索表明 \xe2\x80\x93 所有这些都记录良好。Commit命令是德国文章Visual Studio Code (7): Git als Quellcodeverwaltung einsetzen 的综合列表中也缺失例如,

\n

commit git-commit visual-studio-code

5
推荐指数
1
解决办法
4602
查看次数

Github 操作无需提交,工作树干净

我有一个 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)

yaml action commit github github-actions

5
推荐指数
2
解决办法
2483
查看次数

GitHub Actions checkout@v3:存储库在哪里下载?

我正在使用 GitHub Actions 在 Windows、Linux 和 MacOS 上构建代码。我用来将我的存储库下载到每个服务器。但是,我不知道该存储库在哪里下载。我必须添加其他文件并将它们添加到存储库文件夹中才能使构建正常工作。actions/commit@v3 @actions/checkout@v3curl

有谁知道每个服务器(Windows、Linux 和 MacOS)上的存储库在哪里下载?我在文档中找不到任何内容。如果路径是在环境变量中设置的,我更愿意使用它而不是对每个服务器的路径进行硬编码。actions/commit@v3 @actions/checkout@v3

commit github-actions

5
推荐指数
1
解决办法
1万
查看次数

使用 commitlint 的第一条提交消息应该是什么?

如果我使用 @commitlint/config-conventional,那么使用 Commmitlint 的第一条提交消息应该是什么?是壮举:第一次提交还是构建:第一次提交还是琐事:第一次提交?

commit git-commit commitlint

5
推荐指数
1
解决办法
1179
查看次数

您应该提交 Nx 的 migrations.json 文件吗?

我使用了 nx migrate 命令migrations.json在项目的根目录生成了一个文件。我已经进行了迁移并且成功了。

我已经提交了迁移所做的更改,现在考虑是否有必要保留该migrations.json文件,因为它的更改已经应用并提交了。

我正在考虑从存储库中删除该文件,甚至 gitignoring 它。删除该文件会以任何方式影响未来的迁移吗?

migration commit gitignore nomachine-nx

5
推荐指数
1
解决办法
2465
查看次数