相关疑难解决方法(0)

我什么时候应该使用rm,git rm,git rm --cached,git add

我正在学习git,但我对不同的登台和提交文件的方式感到困惑.为了解决这个问题,我正在使用目录的比喻:工作目录,登台目录,提交目录.

  • 如果我rm是工作目录中的文件,它只会从我的工作目录中删除它.这是正确的吗?
  • 如果我git rm是工作目录中的文件,则将其从所有三个目录中删除.正确?
  • 如果我git rm --cached是一个文件,它会从我的staged和commit目录中删除该文件,但是将它留在我的工作目录中?
  • 如果我已从工作目录中更新,添加和删除了文件git add .,则会git status显示已添加,删除和更新的暂存文件.我承诺会发生什么?是否从Commit目录中删除了已删除的文件?如果我稍后回滚到该提交,那么这些已删除的文件会重新出现吗?

任何有助于更好地理解这些概念的帮助都会受到赞赏 - 谢谢!

git

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

为什么.gitignore不起作用?

我的问题不同于为什么gitignore在这种情况下没有工作?也没有.gitignore不工作

files/conf.php已经在.gitignore中,但git status仍显示其修改,为什么?

我的意思是如果它在.gitignore中不应该跟踪这个文件...

cat .gitignore
files/conf.php
[root@home blogmi]# 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)
#
#       modified:   files/conf.php
#
no changes added to commit (use "git add" and/or "git commit -a")
Run Code Online (Sandbox Code Playgroud)

git version-control gitignore

5
推荐指数
1
解决办法
1768
查看次数

撤消 git rm 。-r --缓存或提交更改?

我试图让我的 .gitingore 工作(链接到问题:))。

我刚刚做完

git rm . -r --cached 
Run Code Online (Sandbox Code Playgroud)

现在,当我输入时,我有一个已删除文件的完整列表:

git status -s 
Run Code Online (Sandbox Code Playgroud)

这是正常的吗?我可以安全地提交所有更改吗?

或者也许有办法撤消这个命令?

PS:我试图理解这个命令的作用,但我只发现了这个: http: //brianloomis.wordpress.com/2009/08/10/git-rm-r-cached/ 而且我不太清楚。

PS 2:好的:)为了拯救我的皮肤,我进行了重置:

git reset HEAD *
Run Code Online (Sandbox Code Playgroud)

已删除的文件已经再见了:) git status -s 中不再可见。但执行命令仍然安全:

git rm . -r --cached and then add and commit it? 
Run Code Online (Sandbox Code Playgroud)

git gitignore git-rm

5
推荐指数
1
解决办法
9796
查看次数

Rails:.gitignore仍然跟踪我的database.yml文件

我在我的团队中有4个人,他们经常不得不改变数据库的套接字,因为它们有不同的路径,它变得烦人,我试图将database.yml添加到.gitignore:

/config/database.yml
Run Code Online (Sandbox Code Playgroud)

但是出于一些奇怪的原因,我编辑文件并使其git status仍然被跟踪!谁能告诉我我能做些什么?

git ruby-on-rails

5
推荐指数
1
解决办法
2845
查看次数

要从 Android Studio Gradle 项目的 GIT 中排除的文件,以在 MAC 和 Windows 中维护代码。?

我在 MAC - OSX 中编写代码,在 PC - Windows 中编写我的合作伙伴代码,但是当我提交和推送更改时,项目目录中有多个文件以 .IML 或 .config 或 .properties 结尾,这些文件被覆盖并导致频繁覆盖,这是一个麻烦.

所以我的问题是哪些文件可以从 Android Studio Gradle 项目的 GIT 中排除以维护 MAC 和 Windows 中的代码?最好的方法是什么?

windows git macos android gradle

5
推荐指数
1
解决办法
2957
查看次数

为什么忽略的文件不被忽略?

所以我知道之前已经问过并回答了这些问题的变体,所以首先我想通过我自己的一些研究向您展示我没有重复的.

  1. git ignore 实际上不是 .gitignore 文件: .gitignore 不起作用
    • 我的文件名为 .gitignore,我设置了寡妇来显示所有文件类型的完整文件名。(该文件名为 Unity.ignore,重命名并没有解决问题)
  2. .gitignore 是在跟踪文件后添加的,您需要先取消跟踪它们。像这样:.gitignore 在 github for mac 程序中不起作用
    • 不,.gitignore 被添加到一个空的仓库中。确保承诺。
  3. .gitignore 文件未正确放置。
    • 现在我不精通 Linux 和 bash,但有人告诉我将它放在 root 中,我认为这就是我在这里所做的。

前两个是我看到人们在使用 .gitignore 文件时遇到问题的主要原因,但这不是我遇到问题的地方。最后一个我 99% 肯定也不是问题。

在告诉 git 忽略我的 Library 和 Temp 文件夹后,在准备提交时,来自 temp 和 Library 的任何文件仍会显示在 Windows 的 GitHub 客户端中: Linked image since Imgur is have questions

编辑: 在 SmartGit 中查看 repo 时出现同样的问题

还有我的 .gitignore 文件

# =============== #
# Unity generated #
# =============== #
[Tt]emp/ …
Run Code Online (Sandbox Code Playgroud)

git github gitignore unity-game-engine unity5

5
推荐指数
2
解决办法
6984
查看次数

Git没有使用.gitignore的内容

我正在使用Rails并将目录tmp和Gemfile添加到我的.gitignore.但每次我改变它,git status告诉我,它改变了.在两台机器上.在我的开发人员计算机和服务器上.有点烦人.

内容.gitignore:

.DS_Store
data/export/*.csv
tmp/*
*.rbc
*.sassc
.sass-cache
capybara-*.html
.rspec
/.bundle 
/vendor/bundle 
/log/* 
/tmp/* 
/db/*.sqlite3 
/public/system/* 
/coverage/ 
/spec/tmp/* 
**.orig 
config/*.yml 
rerun.txt 
pickle-email-*.html 
Gemfile*
Run Code Online (Sandbox Code Playgroud)

git gitignore ruby-on-rails-3

4
推荐指数
1
解决办法
4971
查看次数

.gitignore不会忽略子目录中的文件

我的存储库顶层文件夹中有一个.gitignore文件,其中包含以下代码:

# Compiled python modules.
*.pyc

# Backup gedit files.
/*~

# Setuptools distribution folder.
/dist/

# Python egg metadata, regenerated from source files by setuptools.
/*.egg-info
/*.egg
Run Code Online (Sandbox Code Playgroud)

当我尝试运行git add .命令时,.gitignore无效,因为添加了多个/ *〜。的输出git status如下:

new file:   uvispace/tests/test_messenger.py
new file:   uvispace/tests/test_messenger.py~
new file:   uvispace/tests/test_robot.py~
new file:   uvispace/uvirobot/__main__.py~
new file:   uvispace/uvirobot/messenger.py~
new file:   uvispace/uvirobot/move_base.py
Run Code Online (Sandbox Code Playgroud)

类似问题

我见过几个非常类似的问题,像这一个,或这一个。他们的解决方案是删除先前添加的文件,然后按照以下说明再次添加整个存储库:

git rm -rf --cached .
git add *
Run Code Online (Sandbox Code Playgroud)

但是,我尝试过,没有区别。有人知道为什么会这样吗?

git gitignore

4
推荐指数
1
解决办法
2681
查看次数

如何在Android Studio中停止跟踪忽略的文件

我从.idea文件夹提交了文件,然后创建了.gitignore文件,但我想停止跟踪文件.idea夹中的那些文件。为此,我写道:

git rm -r --cached。

git添加

和承诺的更改。一切正常,直到Android Studio misc.xml通过更改Java语言级别更改了文件,我也不知道为什么,但是如果我尝试提交更改,我仍然可以提交该文件misc.xml,该文件将被忽略并且不应再进行跟踪。我能做什么?

Android Studio视图

git android github android-studio

4
推荐指数
1
解决办法
1187
查看次数

.gitignore似乎不工作

我的.gitignore:

.DS_Store
/.idea
/.idea_modules
/out
/project
/target
/*.iml
*/resolution-cache/*
*/streams/*
*/target/*
Run Code Online (Sandbox Code Playgroud)

但是,文件夹.idea,.idea_modulestarget出现在回购中,仍然存在.

你的想法?

git gitignore

3
推荐指数
1
解决办法
1000
查看次数