相关疑难解决方法(0)

git checkout准确提交中的所有文件

据我所知,要获取某个文件的旧版本,我需要输入:

git checkout COMMIT-HASH -- file-name.ext
Run Code Online (Sandbox Code Playgroud)

但是,如果我不从某个提交中获取所有修改过的文件吗?我可以输入以下内容吗:

git checkout COMMIT-HASH -- *
Run Code Online (Sandbox Code Playgroud)

PS我知道我可以手动列出文件,但是如果有很多文件,这并不方便。

git git-checkout

6
推荐指数
2
解决办法
5552
查看次数

使用Git将两次提交之间的不同文件复制到特定文件夹

我试图弄清楚如何从给定提交中修改的Git存储库中获取文件.我想将'delta'存储在一个单独的文件夹中.我对Git很新,所以这可能是一个相对基本的问题,但仍然......

我以为我应该先在版本中获取存储库:

git reset --hard a02ea0d
Run Code Online (Sandbox Code Playgroud)

然后列出提交的内容:

git show --pretty="" --name-only a02ea0d
Run Code Online (Sandbox Code Playgroud)

但那又怎样?我可以将这个连接在一起以获得一些额外的文件夹,结果只是版本中的实际文件?

git

6
推荐指数
1
解决办法
416
查看次数

git:如何列出给定提交中存在的所有文件?

我想得到一个给定点git中存在的所有文件的列表.

我试过发布类似的东西:

git show --pretty="format:" --name-only f21b25e76d146
Run Code Online (Sandbox Code Playgroud)

这仅显示添加的文件,而不是在该特定提交的工作目录中存在的所有文件.有办法吗?

非常感谢提前.

git list show

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

如何按文件分割每个提交?

我知道如何手动拆分提交使用git rebase -i,但是如何自动拆分文件中的每个提交?

例如,提交A修改的3个文件,f1,f2和f3.分裂后,有3个提交A-f1,A-f2和A-f3.

我想这样做是为了使重写更容易,因为我只需要压缩一些小的提交.

git git-rebase git-rewrite-history

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

如何找出 git 的 post-checkout 挂钩中哪些文件已更改?

我只是 git 的新手,我正在查看结帐后挂钩。
据我了解,以下命令将从最新提交中恢复“文件名”:

git checkout -- filename
Run Code Online (Sandbox Code Playgroud)

当我在结帐后获得控制权时,我得到 3 个参数,即 2 个 SHA 和一个类型。
两个 SHA 是相同的,即最后一次提交和类型的 SHA 值为 0,这意味着发生了文件检出。
但是我回家能查出哪些文件被签出了吗?

git githooks

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

我可以列出当前提交的文件吗?

想象一下,每次提交文件时,在推送文件之前,我都会列出要检查的文件。我该怎么办?

我试过了:

git ls-tree -r --name-only master
git ls-files -stage
Run Code Online (Sandbox Code Playgroud)

如果我编辑一个文件,add那么commit它。如果尝试上述代码,它将显示我的所有文件。

我只想列出将在当前提交时推送的文件。

git git-commit

3
推荐指数
2
解决办法
6055
查看次数

Huggingface GPT2 损失理解

(也发布在这里https://discuss.huggingface.co/t/newbie-understanding-gpt2-loss/33590

我对 GPT2 损失的理解陷入困境。我想为模型提供具有它将生成的目标的标签,以便我可以看到损失为零。

我有一个输入文本 input_text = "Welcome to New York" 当前模型预测下一个单词为City 如果我将标签指定为 input_text,则损失永远不会为零。我如何模拟给出“欢迎来到纽约市”标签,以便内部神经网络(无论模型如何)给出零或接近零的损失?

为了更多地解释我的意思,这是片段。

注意 - 我已阅读论坛和文档,标签可以与输入文本相同,模型将向左移动标签,并且不会计算最后一个标记的损失。但损失仍然应该为零,但事实并非如此。

语言建模的标签。请注意,标签在模型内部移动,即您可以设置 labels = input_ids...。

from transformers import GPT2LMHeadModel, GPT2Tokenizer

model_name = 'gpt2'
tokenizer = GPT2Tokenizer.from_pretrained(model_name,model_max_length=1024,padding_side='left')
tokenizer.pad_token = tokenizer.eos_token # == <|endoftext|> = 50256
model = GPT2LMHeadModel.from_pretrained(model_name)

batch_size=5
input_text  = "<|endoftext|> Welcome to New York"
target_text = "Welcome to New York City"

# encode the inputs
encoding = tokenizer(input_text,padding=True,max_length=batch_size,truncation=True,return_tensors="pt",)
input_ids, attention_mask = encoding.input_ids, encoding.attention_mask
# encode the targets
target_encoding = …
Run Code Online (Sandbox Code Playgroud)

pytorch huggingface-transformers gpt-2

2
推荐指数
1
解决办法
4783
查看次数

如何在日志中查看每次提交的更改文件?

我想查看在每次提交中更改的文件列表git log另一个问题询问如何查看单个提交的更改文件,并得到以下响应

$ git diff-tree --no-commit-id --name-only -r bd61ad98
index.html
javascript/application.js
javascript/ie6.js
Run Code Online (Sandbox Code Playgroud)

我想知道的是如何将其应用到git log. 也就是说,我应该运行什么命令才能获得类似以下输出的内容?

commit 78b3ba12002f9cab5cbb57fac87d8c703702a196
Author: WD40 <example@example.com>
Date:   Fri Apr 14 09:59:57 2017 -0500

    Change more things

    about.html
    javascript/application.js
    javascript/ie6.js

commit 0f98b1f7eda33a4e9cfaab09506aa8094044085f
Author: WD40 <example@example.com>
Date:   Fri Apr 14 09:49:03 2017 -0500

    Change some things

    index.html
    javascript/application.js
    javascript/ie6.js
Run Code Online (Sandbox Code Playgroud)

此外,如果可能的话,我想知道如何做同样的事情,而且还显示添加和删除的文件。

我查看了这些git log --format选项,但找不到任何类似于我想要的东西。我有一种感觉,用 git log 是不可能的,并且可能需要将多个 s 的输出串在一起git diff-tree,但我不确定如何在没有脚本的情况下实现这一点(这可能是完成我想要的事情的唯一方法,但是我想我应该继续询问,因为那将是我最后的手段)。

git git-log

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

Git合并不合并所有文件

我在使用git时遇到了困难。

我有一个分支A和一个分支B。我想将branch合并A为branch B。我目前在分支机构,B并且使用了以下命令:

git merge A

现在,当我运行时git status,我看到我先进行了两次提交,当我查看在git mergeI 期间被更改的文件时,我注意到只有两个文件被更改了。但是,我知道分支A中至少有十几个文件被更改了,这些文件在期间没有被获取git merge

为什么git merge仅在显然还有其他文件需要合并时才合并这两个文件?

git

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

如何查看上次提交中更改了哪些文件

在此提交消息中,它说2个文件已被更改。

$ git commit -m "fixed .gitignore"
[master c30afbe] fixed .gitignore
 Committer: Sahand Zarrinkoub <sahandzarrinkoub@n133-p41.eduroam.kth.se>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly. Run the
following command and follow the instructions in your editor to edit
your configuration file:

    git config --global --edit

After doing this, you may fix the identity used for this commit with:

    git commit --amend …
Run Code Online (Sandbox Code Playgroud)

git

1
推荐指数
6
解决办法
4169
查看次数