标签: git-add

恢复已添加到索引但随后通过git reset删除的文件

我在索引中添加了一些文件但是后来我用它删除了它们git reset --hard.我该如何恢复它们?这是发生的事情:

  1. 我添加了所有文件 git add .
  2. 然后我承诺了
  3. 当我检查状态时,仍然有来自add的提交中没有包含的文件,这很奇怪
  4. 我再次添加了未跟踪的文件,这次工作正常
  5. 但我希望一切都在一次提交中,所以我抬头看看如何取消我刚刚提交的内容
  6. 我用过git reset --hard HEAD^- 很明显,所有文件都被删除了
  7. 所以我常常git reflog找到我离开的地方
  8. 那时我常常git reflog ______回到上一次提交.
  9. 然后我常常git reset HEAD取消提交(我应该最初做的)但是我提交后添加的文件(见上文)仍然没有.

如何获取这些文件?

git git-add git-reset git-commit git-reflog

10
推荐指数
2
解决办法
5562
查看次数

如何在"git add -p"中为帅哥设置标签大小?

我在这里使用解决方案来更改git diff输出中的选项卡大小.这很好用git diff.

我在.gitconfig中有这些设置:

[core]    
whitespace = tabsize=4,indent-with-non-tab
pager = less -FSRX -x4
Run Code Online (Sandbox Code Playgroud)

但这些设置似乎并没有影响git add -p.如何在git add -p命令中为帅哥设置标签大小?

git version-control tabs tab-size git-add

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

如何使用寻呼机进行长 git add --patch 大块头?

当我用 交互式添加diff大块头时git add --patch,有时会得到比屏幕长的大块头,但无法less用于翻阅大块头。

这对我来说很奇怪,因为我已经设置了:

[core]
      pager = less -FRX --tabs=4

[pager]

  diff = diff-highlight | less -FRX --tabs=4
Run Code Online (Sandbox Code Playgroud)

interactive.diffFilter=管道通过less也无助于分页。

我需要做什么git add--patch才能使用它less,以便我可以使用键盘来导航超过一个屏幕的任何输出?

git git-diff pager git-add

10
推荐指数
2
解决办法
685
查看次数

Git添加不添加文件

当我尝试git添加我的文件时,我输入了

git add <insert file names here>
Run Code Online (Sandbox Code Playgroud)

这工作正常.但是,当我尝试做的时候

git commit -a
Run Code Online (Sandbox Code Playgroud)

我的git存储库告诉我它是空的.输出的是:

# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed) 
#
<insert name of files here>

nothing added to commit but untracked files present (use "git add" to track)
Run Code Online (Sandbox Code Playgroud)

可能有人知道解决方案吗?谢谢.

git git-add git-commit

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

如何在git中添加git中的特定文件?

我经常遇到以下情况:

modified:   assembly/main.debug.s
modified:   ../src/cd/Config.java
modified:   ../src/cd/memoization/cfg/SubgraphFinder.java
modified:   ../src/cd/memoization/cfg/SubgraphMap.java
modified:   ../src/cd/profiler/Profile.java
modified:   ../test/cd/test/TestSamplePrograms.java
modified:   ../../notes/20150521.txt
Run Code Online (Sandbox Code Playgroud)

在这里,我有一堆文件,我想将它们包含在不同的提交中.到目前为止我做的是做一堆git add <pathspec>跟随各自的git commit.该<pathspec>是什么让我很烦.有类似下面的东西吗?

1 modified:   assembly/main.debug.s
2 modified:   ../src/cd/Config.java
3 modified:   ../src/cd/memoization/cfg/SubgraphFinder.java
4 modified:   ../src/cd/memoization/cfg/SubgraphMap.java
5 modified:   ../src/cd/profiler/Profile.java
6 modified:   ../test/cd/test/TestSamplePrograms.java
7 modified:   ../../notes/20150521.txt
Run Code Online (Sandbox Code Playgroud)

git magic 2,3,5 -m "My super simple commit"

git git-add

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

git rm文件后; commit - 如何从远程分支返回文件?

我正在拉入我的.emacs目录,并遇到以下冲突:

CONFLICT (add/add): Merge conflict in elisp/dired-details+.el
Run Code Online (Sandbox Code Playgroud)

Git状态显示如下:

 Unmerged paths:
 #   (use "git add/rm <file>..." as appropriate to mark resolution)
 #  both added:         elisp/dired-details+.el
Run Code Online (Sandbox Code Playgroud)

好的,所以git建议使用git rm.我想完全取代我拉在文件的本地文件,因此它似乎有种那种理智......所以,我做的git rm elisp/dired-details+.elgit merge.我明白了:

git merge:致命:你还没有完成你的合并(MERGE_HEAD存在).请在合并之前提交您的更改.

好的,好的:git commit -a -m "ugh merge conflicts"; git pull origin master.

现在一切都合并得很好,除了我失踪dired-details+.el,我有点困惑,我想知道以下的答案:

  1. 如何git-rm从远程分支撤消并获取该文件?
  2. 为什么首先出现冲突?这里发生了add/add什么?
  3. 我应该做什么而不是git-rm'我要替换的文件?...

git git-add git-rm

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

Git使用现有Git存储库添加文件夹

我正在为我的MacVim安装创建一个git存储库.我的存储库中的一些插件有自己的.git文件夹和repo.问题是......当我尝试将其中一个文件夹添加到我的主存储库时,它什么也没做.

我猜:

我无法添加该文件夹,因为它本身就是一个git repo.我必须添加为子模块或删除.git文件夹.

如何将子回购添加为子模块?

bryan-mini:.vim bsaltzman$ git status
# On branch master
# 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)
#   (commit or discard the untracked or modified content in submodules)
#
#   modified:   bundle/YouCompleteMe (modified content)
#   modified:   bundle/nerdtree (modified content)
#   modified:   bundle/ultisnips (modified content)
#
no changes added to commit (use "git add" and/or "git …
Run Code Online (Sandbox Code Playgroud)

git github repository git-add git-submodules

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

git add 抛出警告“CRLF 将被 &lt;file-name&gt; 中的 LF 替换”

我最近开始从事 Xamarin 跨平台开发。虽然我团队中的一些开发人员使用 Mac 进行开发(使用 Visual Studio for Mac),但其他人使用 Windows(使用 Visual Studio 2017)。我们使用 git/github 作为我们的代码存储库/版本控制系统。

在我做了一些更改并添加了一些新文件后,我发布git add .了所有更改,但我收到了这样的警告

warning: CRLF will be replaced by LF in <file-name>.
The file will have its original line endings in your working directory
Run Code Online (Sandbox Code Playgroud)

我检查了我的 git 配置core.autocrlf=input,根据我的理解和这里的文档https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration,这是 Mac 的正确设置。

但是,我不确定上面的警告,因为我以前从未见过它。我发现它更令人困惑,因为并非我添加的所有文件都显示此警告,而仅显示一些。

我已经阅读了很多关于这个问题的帖子,但没有一个接缝可以清楚地解释这些警告是否可以或不能被忽略。或者是否需要修复它们以及如何为像我的团队一样使用 Windows 和 MacOS 的团队修复它们。

我是否需要担心这个警告,对于像我这样在 Windows 和 MacOS 机器上工作的团队来说,这究竟意味着什么?

git git-add core.autocrlf

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

在Git中取消暂存所有已删除的文件

我想取消所有文件删除.有一个简单的方法吗?

我想将其应用于所有删除的文件模式.

git git-add delete-file git-stage

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

Git添加修改后的文件不起作用,除了-p(补丁)

经过前两个小时的突然工作,我似乎无法找到git add一个文件.

Casper@PC2015 MINGW64 /c/Workspace/edoping (develop)
$ git add .

Casper@PC2015 MINGW64 /c/Workspace/edoping (develop)
$ git status
    On branch develop
Your branch is up-to-date with 'origin/develop'.
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:   app/Http/Controllers/API/AuthController.php

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

如果添加方法没有成功,我已经尝试了很多:

  • git add .
  • git add <path-to-file>
  • git add -f <path-to-file>
  • git …

git git-add

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