tl;博士:如果我暂存一个文件然后运行会发生什么git checkout .
?
这是情况。我有一个现有目录,我想将其与 git repo 的内容“合并”(并将其与 repo 集成)。
我将通过复制.git
目录来做到这一点,这会移动 repo 但不会移动文件,所以我可以做一个理智的手动“合并”。
这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 存储库:
(MSYS bash 外壳)
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
.