相关疑难解决方法(0)

Git - '假设未改变'和'跳过工作树'之间的区别

我对一个我不想提交到我的存储库的文件进行了本地更改.它是用于在服务器上构建应用程序的配置文件,但我想在本地使用不同的设置进行构建.当然,当我将'git status'作为要上演的东西时,该文件总是显示出来.我想隐藏这个特定的更改而不是提交它.我不会对文件进行任何其他更改.

经过一番挖掘后,我看到了两个选项:'假设未改变'和'跳过工作树'.这里的前一个问题谈到了它们,但并没有真正解释它们之间的区别.我的问题是:这两个命令有何不同?为什么有人会使用其中一个?

git git-index

400
推荐指数
3
解决办法
6万
查看次数

如何更新git浅层克隆?

背景

(对于tl; dr,请参阅下面的#questions)

我有多个git存储库浅克隆.我使用的是浅克隆,因为它与脏克隆相比要小得多.每个人都克隆着做git clone --single-branch --depth 1 <git-repo-url> <dir-name>.

这工作正常,但我没有看到如何更新它.

当我用标签克隆时,更新没有意义,因为标签是冻结的时间点(据我所知).在这种情况下,如果我想更新,这意味着我想要通过另一个标签克隆,所以我只是rm -rf <dir-name>再次克隆.

当我克隆了主分支的HEAD然后想要更新它时,事情变得更加复杂.

我试过git pull --depth 1但是虽然我不想把任何东西推到远程存储库,它抱怨它不知道我是谁.

我试过了git fetch --depth 1,但是虽然它似乎更新了一些东西,但我检查它是不是最新的(远程存储库上的某些文件的内容与我克隆上的文件不同).

/sf/answers/1435601401/之后,我试过git fetch --depth 1; git reset --hard origin/master,但有两件事:第一,我不明白为什么git reset需要,第二,尽管文件似乎是最新的,但仍有一些旧文件,以及git clean -df不会删除这些文件.

问题

让克隆创建git clone --single-branch --depth 1 <git-repo-url> <dir-name>.如何更新它以达到相同的效果rm -rf <dir-name>; git clone --single-branch --depth 1 <git-repo-url> <dir-name>?或者是rm -rf <dir-name>再次克隆唯一的方法?

注意

这不是如何在不增加主要仓库大小的情况下更新浅层克隆子模块 …

git git-clone

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

对于.gitignore中列出的文件,git status显示"未提交提交的更改"?

让我们看看.gitignore文件 - 我添加了mllib/pom.xml和pom.xml甚至.gitignore(这不应该是必需的 - 所以有些不对劲......):

$head .gitignore
.gitignore
mllib/pom.xml
pom.xml
Run Code Online (Sandbox Code Playgroud)

那么让我们看看git想要添加的文件:

$ git status
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   .gitignore
    modified:   mllib/pom.xml
    modified:   
Run Code Online (Sandbox Code Playgroud)

更新有两条评论不是"忽略.gitignore".但是在再次移除.gitignore之后我们得到了这个:

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   .gitignore
    modified:   mllib/pom.xml
Run Code Online (Sandbox Code Playgroud)

所以(a).gitignore正在出现,(b)真正重要的不添加到提交的特定文件 - mllib/pom.xml …

git gitignore

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

标签 统计

git ×3

git-clone ×1

git-index ×1

gitignore ×1