我正在努力学习Git.我很困惑
git rm --cached file
Run Code Online (Sandbox Code Playgroud)
和
git reset file
Run Code Online (Sandbox Code Playgroud)
这两个命令似乎都将文件从暂存区域转移到非暂存区域.命令有何不同?
如何在不手动输入所有文件的完整路径的情况下轻松删除多个文件git rm?我有很多我想保留的修改过的文件,因此删除所有已修改的文件也是不可能的.
而且还可以在不手动输入的情况下还原多个文件的更改git checkout -- /path/to/file?
我希望停止跟踪文件,但仍然将它们保存在我的工作树中.
我已经聚集了,这git rm --cached FILE将让我这样做.但是,如果其他人撤消此更改,是否会删除其本地副本?
我正在学习Git,并且在发出"git rm"命令时无法理解在什么条件下使用-f标志.请解释一个场景,其中只需要rm -f而不是rm?
我只是试图检查我的主分支并遇到:
error: Untracked working tree file 'app.xcodeproj/project.xcworkspace/xcuserdata/u.xcuserdatad/UserInterfaceState.xcuserstate' would be overwritten by merge.
Run Code Online (Sandbox Code Playgroud)
所以,我试图从git中删除这个文件(我已经在.gitignore中添加了一个表达式来捕获它):
git rm --cached app.xcodeproj/project.xcworkspace/xcuserdata/u.xcuserdatad/UserInterfaceState.xcuserstate
Run Code Online (Sandbox Code Playgroud)
得到了:
fatal: pathspec 'app.xcodeproj/project.xcworkspace/xcuserdata/u.xcuserdatad/UserInterfaceState.xcuserstate' did not match any files
Run Code Online (Sandbox Code Playgroud)
所以,有点亏.根据我的理解,工作文件不是问题.但是,为了完整性,确实存在工作文件.例如
ls -l app.xcodeproj/project.xcworkspace/xcuserdata/u.xcuserdatad/UserInterfaceState.xcuserstate
-rw-r--r-- 1 u u 56061 24 Sep 12:42 app.xcodeproj/project.xcworkspace/xcuserdata/u.xcuserdatad/UserInterfaceState.xcuserstate
Run Code Online (Sandbox Code Playgroud) 在我的本地机器上,我从文件夹中删除了文件
git init
git add --all
Run Code Online (Sandbox Code Playgroud)
然后我写了(不要问我,为什么!:))
git rm -rf
Run Code Online (Sandbox Code Playgroud)
我还没有承诺.现在我的项目中有空文件夹.在.git文件夹中objects有53 Mb的文件.
我该如何恢复我的文件?我尝试过Drill Disc和Stellar等程序,但没找到我的文件.我无法从GIT回滚.
如何恢复丢失的文件?
有人偶然将他们所有的bin和obj文件夹提交到我们的仓库(大约有40个这样的文件夹).我想git rm -r
在所有这些文件夹上做一个.有命令这样做吗?
我用git rm -r删除了rails应用程序中的db文件夹
我试过了
git reset HEAD
Run Code Online (Sandbox Code Playgroud)
和
git reset --hard HEAD
Run Code Online (Sandbox Code Playgroud)
但是迁移文件没有回来.我尝试提交,然后运行重置,但仍然没有.
我该怎么办?
需要帮助找出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 rm abc.c.但我删除了一个错误的.我该如何恢复?
现在,当我发行时git status,它说
deleted: abc.c
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我现在有其他未提交的更改.