标签: git-index

"git commit"和"git push"有什么区别?

在我正在经历的Git教程中,git commit用于存储您所做的更改.

什么git push用于那么?

git push git-push git-commit git-index

863
推荐指数
11
解决办法
63万
查看次数

如何解除我在Git中的最后一次提交

我如何取消承诺我在git中的最后一次提交?

是吗

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

要么

git reset --hard HEAD^
Run Code Online (Sandbox Code Playgroud)

git undo git-reset git-index

819
推荐指数
8
解决办法
75万
查看次数

撤消git update-index --assume-unchanged <file>

你Git忽略观察/跟踪特定目录/文件的方式.你刚刚运行这个:

git update-index --assume-unchanged <file>

现在你如何撤消它,以便再次观看它们?(我们称之为取消.)

git version-control git-index

426
推荐指数
8
解决办法
12万
查看次数

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

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

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

git git-index

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

"git rm --cached x"vs"git reset head - x"?

GitRef.org - 基础:

git rm将从暂存区域中删除条目.这与git reset HEAD"unstages"文件有点不同.通过"unstage"我的意思是它将暂存区域恢复到我们开始修改之前的状态. git rm另一方面,只需将文件完全从舞台上踢出,这样它就不会包含在下一个提交快照中,从而有效地删除它.

默认情况下,a git rm file将完全从暂存区域中删除文件,也将从磁盘>(工作目录)中删除.要将文件保留在工作目录中,您可以使用git rm --cached.

但究竟是什么区别git rm --cached asdgit reset head -- asd

git git-reset git-index git-rm

149
推荐指数
3
解决办法
18万
查看次数

你如何git添加一个新的文件而不进行分期?

为了有效地使用git(并且按照预期),我进行了小型的原子提交,而我确实有更长的会话,我不仅要改变一件事.因此,我大量使用git add -p.但是,这对于全新的文件不起作用,因为我以后往往会忘记它们.

我想要做的是,告诉git一个新的文件,我想它来跟踪,但不是阶段,它:

示例:运行git status生成:

# On branch my-current-branch
# Your branch is ahead of 'origin/my-current-branch' by 2 commits.
#
# Changes to be committed:
#
<<STAGED SECTION>> // A
#
# 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)
#
<<UNSTAGED-YET-KNOWN SECTION>> // B
#
# Untracked files: …
Run Code Online (Sandbox Code Playgroud)

git staging git-index

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

git假设未更改vs跳过工作树 - 忽略符号链接

我有一个git存储库和Windows的问题.问题是git存储库中有一个linux符号链接,并且开发人员运行windows,这显然不起作用.现在因为这个符号链接永远不会改变,我想找到一种方法来删除开发人员并在其位置添加一个文件夹(这是符号指向的),但让git忽略这些特定的更改.现在我可以删除符号链接,创建一个同名文件夹,只需添加一个忽略所有内容的.gitignore.现在,为了确保git忽略了符号链接的删除,我在研究时发现了两种可能的解决方案.我找到的解决方案是:

git update-index --assume-unchanged [FILE]
git update-index --skip-worktree [FILE]
Run Code Online (Sandbox Code Playgroud)

我的问题是哪种方案效果最好?我想确保一旦我这样做,除非我特意这样做,否则它永远不会被撤消.我想确保恢复,重置,创建分支,合并等...一切正常.

git symlink git-index

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

如何撤消git update-index?

我只是做了以下操作,以便在我的localhost和我的生产环境中保留config.php文件的不同副本:

$ git update-index --assume-unchanged application/config/config.php
Run Code Online (Sandbox Code Playgroud)

不幸的是,我并没有完全写入config.php文件,我应该和我需要扭转这种,这样我可以做出改变,提交它,然后重新忽略该文件.

如何撤消git update-index命令?

git github gitignore git-index

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

如何在本地恢复`.git/index`?

我不小心删了.git/index,有办法恢复吗?它被永久删除了.我还没有做任何事情.

git recovery git-index

23
推荐指数
3
解决办法
4802
查看次数

git checkout在--assume-unchanged文件上抛出错误

在我运行git update-index --assume-unchanged path/to/file特定分支后,我无法使用切换分支git checkout.

它会引发以下错误:

错误:checkout将覆盖对以下文件的本地更改:

      path/to/file
Run Code Online (Sandbox Code Playgroud)

请提交您的更改或存储它们,然后才能切换分支.

中止

但两个git diff&git status告诉我没有区别,没有什么可以提交/存储.

如何切换出分支?

是否有更好的替代方案git update-index --assume-unchanged(除了.gitignore因为我不希望它被忽略)?(与问题2相同@git update-index --no-assume-unchanged不起作用)

git git-index

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