我在〜/ bin获得git-status:
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# screen/dev/
Run Code Online (Sandbox Code Playgroud)
我跑
git add --force screen/dev/
Run Code Online (Sandbox Code Playgroud)
我得到了和以前一样的git-status.我独立地在文件夹中添加每个文件,但我得到相同的git-status.
屏幕/ dev /中没有.git.该文件夹似乎不是一个sumbodule.
如何在〜/ bin中强制添加一个文件夹及其内容给我的git?
git animals有这一系列命令:
git init
git add *
git commit -a -m ‘initial commit and release!’
Run Code Online (Sandbox Code Playgroud)
什么是git add *比较做git add .(我通常做的),他们是一样的吗?
有没有办法只添加新文件而不是用git添加修改过的文件?也就是说,使用git status列出未跟踪的文件.
除了当然分别添加每个文件.
在我的情况下,这不是绝对必要的,对我来说真正的问题在这里得到解答:如何使git-diff和git log忽略新的和删除的文件?
也就是说,不要在新文件上显示差异,所以我更多地问这个,因为我无法在任何地方找到答案.
我非常喜欢git add -p,git stash但我偶尔会遇到以下问题,这些问题由以下命令序列重现:
git add -p my_file:然后我手动编辑一个大块(使用e),因为git建议的拆分不适合我git stash --keep-index:然后我做一些测试,如果测试通过,我不提交git stash pop:现在出现问题:文件my_file 现在被视为冲突,和git已经完全与我的编辑大块搞砸,所以我必须编辑这个文件,删除无用的合并标记,并运行git add my_file之后git reset HEAD我很困惑,因为只有在手动编辑大块时才会发生这种情况.我不知道这应该如何产生任何不同.
重现问题:
touch newfilegit add newfilegit commit -m 'newfile'git add -p newfilee),删除hunk 中的一行,然后退出git add(q)git stash --keep-indexgit stash pop现在文件newfile处于未合并状态.请注意,问题只发生在手动编辑的帅哥身上.如果没有手动编辑任何块,上面的命令没有任何问题.
顺便提一下,文件的先前状态在第三阶段(git show :3:newfile),而先前阶段的版本在第二阶段(git show :2:newfile).所以我可以通过一些git black …
需要帮助找出Github的几个常见工作流程.我来自VS TFS背景,请原谅我.
撤消待定更改
假设我已经克隆了一个git存储库到我的本地文件系统.此时,项目的本地文件与远程repoistory中的文件完全匹配.
然后我决定对代码进行一些更改,并更改几个文件的本地版本.在做了一些测试之后,我发现我想丢弃我的本地更改并将本地文件还原回远程repoistory中的内容.
如何撤消这些本地更改,将它们还原到存储库中的当前版本?
承诺所有变更
每当我修改我的存储库克隆中的本地文件的内容,或添加新文件,并想要推送更改时,我发出"git add.","git commit"和我的评论,然后"git push"发给我的主人.
但是,当我删除在存储库中跟踪的本地文件时,"git add".不捕获rm的变化.相反,我必须在"git commit"之前"git rm [filename]"来更新存储库.我总是忘记这样做.
是否有一个git命令将"git add".和"git rm"我在本地删除的所有文件,一步到位?在修改本地文件并删除一对之后,我想发出一个命令来捕获我在"git commit"之前的所有更改.
以下是此功能分支的当前状态.
最近的步骤:
结果:
$ git status
# On branch feature-foo-branch
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: foo/bar.php
# modified: foo/baz.php
#
# Unmerged paths:
# (use "git reset HEAD <file>..." to unstage)
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# both modified: foo/conflict.php
#
Run Code Online (Sandbox Code Playgroud)
和状态 -s
$ git status -s
UU foo/conflict.php …Run Code Online (Sandbox Code Playgroud) 我在索引中添加了一些文件但是后来我用它删除了它们git reset --hard.我该如何恢复它们?这是发生的事情:
git add .git reset --hard HEAD^- 很明显,所有文件都被删除了git reflog找到我离开的地方git reflog ______回到上一次提交.git reset HEAD取消提交(我应该最初做的)但是我提交后添加的文件(见上文)仍然没有.如何获取这些文件?
我在这里使用解决方案来更改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 add . -A
Run Code Online (Sandbox Code Playgroud)
将一些文件添加到舞台上.问题是Git认为这些文件与上次提交没有变化,因此会被忽略.但是,我个人更改了文件,但Git仍然认为文件没有变化.
如何"强制"将该单个文件添加到我的存储库?
当我用 交互式添加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 ×10
git-add ×10
git-reset ×2
git-stash ×2
conflict ×1
git-commit ×1
git-diff ×1
git-rebase ×1
git-reflog ×1
git-rm ×1
git-stage ×1
github ×1
pager ×1
tab-size ×1
tabs ×1