tl; dr:如果我暂存文件然后运行git checkout .
会怎样?
这是情况。我有一个现有的目录,我想与git repo的内容“合并”(并将其与repo集成)。
我将通过复制.git
目录来执行此操作,这会移动仓库但不会移动文件,因此我可以执行合理的手动“合并”。
git status
会显示大量“已删除”的文件。我想快速git checkout
这些删除的文件,但我也想排除一些“修改”的文件,以保持其当前的文件系统内容。
所以...我可以对我要复制的所有内容运行git checkout
,但有更快的方法吗?
也许......
git add
)我要保留的修改过的文件,然后运行git checkout .
.git/
目录复制出来并使用文件资源管理器复制要替换的文件(但仍需要将其取出)所以我想这个问题归结为“git checkout会影响暂存文件吗?”
问题的其余部分只是一个非常无关的背景情境解释。
所以我在Windows机器上,我想整合我从OS X设置的Sublime Text 3 User软件包git repo。
所以我从github结帐我的sublime-text-3-user-package repo:
(MSYS bash shell)
cd ~
git clone https://github.com/my-st3-user-package
cp -r my-st3-user-package/.git ~/AppData/Roaming/Sublime\ Text\ 3/Packages/User
现在在我的用户目录中,我可以看到所有丢失的文件,我必须调和它们。
我为Preferences.sublime-settings
这样做,现在看起来就是这样。
$ 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: .gitignore
# deleted: Default (OSX).sublime-keymap
# deleted: GitGutter.sublime-settings
# deleted: Gitconfig.JSON-tmLanguage
# deleted: Gitconfig.tmLanguage
# modified: Package Control.sublime-settings
# deleted: README.md
# deleted: Shell-Unix-Generic.sublime-settings
# deleted: SublimeLinter.sublime-settings
# deleted: Tomorrow-Night-Eighties.tmTheme
# deleted: movemultiplelines.py
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# Package Control.ca-bundle
# Package Control.ca-list
# Package Control.cache/
# Package Control.last-run
no changes added to commit (use "git add" and/or "git commit -a")
除了Package Control.sublime-settings
之外,我想恢复所有这些文件。
答案 0 :(得分:0)
这是一个愚蠢的问题,因为我可以像我刚才那样测试它。
选项1完全按照我希望的方式工作。上演,然后结账。分段文件保持不变。