相关疑难解决方法(0)

git reset vs git reset HEAD

每次播放文件时,Git都会在您需要取消暂存文件时提供有用的说明:

(use "git reset HEAD <file>..." to unstage)

然而,Atlassian的优秀Git教程简单地说:

git reset <file>

这似乎更直截了当,为什么差异呢?

git git-reset unstage

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

为什么存储表示为2次提交?

当存储一些更改时,Git会创建两个单独的提交,"分支上的WIP"和"分支上的索引":

$ git log --graph --all 

*   commit 98aac13303ca086580c1ec9ccba5fe26c2a8ef3c
|\  Merge: 7d99786 82c5c76
| | Author: Tieme <my@email.com>
| | Date:   Wed Nov 19 09:58:35 2014 +0100
| |
| |     WIP on development: 7d99786 Last real commit
| |
| * commit 82c5c763357c401135675a39bfabf9b7f6805815
|/  Author: Tieme <my@email.com>
|   Date:   Wed Nov 19 09:58:35 2014 +0100
|
|       index on development: 7d99786 Last real commit
|
|
| * commit 7d9978637a0e1ef92f2432189bdebf2317f0b2f0
| Author: Tieme <my@email.com>
| Date:   Tue Nov 18 …
Run Code Online (Sandbox Code Playgroud)

git git-stash git-log

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

如何查看工作目录和暂存索引之间的差异?

我们可以看到存储库和工作目录之间的区别:

git diff
Run Code Online (Sandbox Code Playgroud)

我们可以看到存储库和登台索引之间的区别:

git diff --staged
Run Code Online (Sandbox Code Playgroud)

但是我们如何看待工作目录和登台索引之间的区别?

git git-diff

14
推荐指数
2
解决办法
6756
查看次数

Git add 和 git commit 混淆

我基本上知道 a 之间的区别git add,意思是“我想将此文件添加到我的下一个快照”和git commit“拍摄快照”。

但是,当我运行git add file1然后file1从我的工作目录中删除然后运行时,git commit它仍然可以工作。不知何故,快照是在添加时而不是在提交时拍摄的。我对吗?

git

11
推荐指数
2
解决办法
115
查看次数

Intellij IDEA中Git stash对话框的"Keep Index"选项有什么作用?

IDEA文件中

选中此复选框可使IntelliJ IDEA将索引中暂存的更改带到工作树中以进行检查和测试.

有人可以解释这是什么意思吗?

git intellij-idea

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

如何忽略Git上的IDE设置?

我有以下Git信息,我想忽略我的IDE(Eclipse)的设置.

modified:   myproject/.classpath
modified:   myproject/.project
modified:   myproject/.settings/com.google.gdt.eclipse.core.prefs
modified:   myproject/.settings/org.eclipse.core.resources.prefs
modified:   myproject/.settings/org.eclipse.jdt.core.prefs
modified:   myproject/.settings/org.eclipse.wst.common.component
modified:   myproject/.settings/org.eclipse.wst.common.project.facet.core.xml
modified:   myproject/.settings/org.eclipse.wst.validation.prefs
Run Code Online (Sandbox Code Playgroud)

我在我的.gitignore文件中尝试了以下语句,但它不适用于这些设置:

.project
.classpath
.settings
*.project
*.classpath
*.settings
/.project
/.classpath
/.settings
.project/
.classpath/
.settings/
*.project/
*.classpath/
*.settings/
Run Code Online (Sandbox Code Playgroud)

我使用的是Mac OS X,我还使用这些设置添加了全局gitignore文件git config --global core.excludesfile '~/.gitignore',但是当我查看时,我仍然会收到上面的Git更新消息git status.我错了什么?

eclipse git

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

git merge 在这张图中适合的位置

我正在学习 git/github/version control,我发现下面的图表非常有用(来源)。我的问题是哪里git merge适合这个图表?箭头会从哪里开始并指向哪里?

在此处输入图片说明

git version-control

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

"git checkout - "有什么区别?和"git reset HEAD --hard"?

这不是关于' - '的一般问题,如标记的副本.这是一个特定于git的问题,要求明确所提到的命令之间的操作差异.

如果我想清除当前目录而不进行存储或提交,我通常会使用以下命令:

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

一位同事还提到使用这个命令:

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

对谷歌来说这是一个困难的命令,而且从git文档中我不清楚这个命令实际上做了什么.它似乎是手册中后面提到的用法之一.

猜测它会复制git reset HEAD --hard,但与我已经使用的命令相比,它究竟做了什么呢?
它是复制一个还是两个命令,还是相似但略有不同?

git git-checkout git-reset git-clean

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

“git rm”的意外行为

给定一个 Git 存储库和一个提交的文件a

我使用 O/S 命令删除文件: $ rm a

调用git status返回:

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

        deleted:    a

no changes added to commit (use "git add" and/or "git commit -a")
Run Code Online (Sandbox Code Playgroud)

接下来,我调用git rm其次是git status哪个产生:

On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        deleted: …
Run Code Online (Sandbox Code Playgroud)

git

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