据我所知,要获取某个文件的旧版本,我需要输入:
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存储库中获取文件.我想将'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中存在的所有文件的列表.
我试过发布类似的东西:
git show --pretty="format:" --name-only f21b25e76d146
Run Code Online (Sandbox Code Playgroud)
这仅显示添加的文件,而不是在该特定提交的工作目录中存在的所有文件.有办法吗?
非常感谢提前.
我知道如何手动拆分提交使用git rebase -i
,但是如何自动拆分文件中的每个提交?
例如,提交A
修改的3个文件,f1,f2和f3.分裂后,有3个提交A-f1,A-f2和A-f3.
我想这样做是为了使重写更容易,因为我只需要压缩一些小的提交.
我只是 git 的新手,我正在查看结帐后挂钩。
据我了解,以下命令将从最新提交中恢复“文件名”:
git checkout -- filename
Run Code Online (Sandbox Code Playgroud)
当我在结帐后获得控制权时,我得到 3 个参数,即 2 个 SHA 和一个类型。
两个 SHA 是相同的,即最后一次提交和类型的 SHA 值为 0,这意味着发生了文件检出。
但是我回家能查出哪些文件被签出了吗?
想象一下,每次提交文件时,在推送文件之前,我都会列出要检查的文件。我该怎么办?
我试过了:
git ls-tree -r --name-only master
git ls-files -stage
Run Code Online (Sandbox Code Playgroud)
如果我编辑一个文件,add
那么commit
它。如果尝试上述代码,它将显示我的所有文件。
我只想列出将在当前提交时推送的文件。
(也发布在这里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) 我想查看在每次提交中更改的文件列表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时遇到了困难。
我有一个分支A
和一个分支B
。我想将branch合并A
为branch B
。我目前在分支机构,B
并且使用了以下命令:
git merge A
。
现在,当我运行时git status
,我看到我先进行了两次提交,当我查看在git merge
I 期间被更改的文件时,我注意到只有两个文件被更改了。但是,我知道分支A
中至少有十几个文件被更改了,这些文件在期间没有被获取git merge
。
为什么git merge
仅在显然还有其他文件需要合并时才合并这两个文件?
在此提交消息中,它说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 ×9
git-checkout ×1
git-commit ×1
git-log ×1
git-rebase ×1
githooks ×1
gpt-2 ×1
list ×1
pytorch ×1
show ×1