正确设置git以忽略不需要的文件

时间:2018-02-16 08:56:48

标签: git

我在本地检查了一个分支并使用了2个文件,比如,他们的名字是A.javaB.java。然后,我添加并提交命令,即git add .git commit -m "some msg"。最后,我使用命令git push -u origin {branch_name}将它们推入远程分支。

它创建了一个令人尴尬的局面,即远程推送的maven和IDEA文件很少。甚至,现在当我执行命令git status时,我得到以下输出:

chak@debian8:~/Projects/draglet-backend$ git status
On branch FNB-90
Your branch is up-to-date with 'origin/FNB-90'.
Untracked files:
  (use "git add <file>..." to include in what will be committed)

        .idea/
        draglet-backend.iml
        draglet-balser/draglet-balser.iml
        draglet-common/draglet-common.iml
        draglet-engine/draglet-engine.iml
        draglet-mapu/draglet-mapu.iml
        draglet-meba/draglet-meba.iml
        draglet-remote/draglet-remote.iml
        draglet-shaba/draglet-shaba.iml

nothing added to commit but untracked files present (use "git add" to track)

我在将来的工作中几乎没有问题:

  1. 这里有什么Untracked文件以及它们是如何创建的?一世 只在项目中编写一些Java。

  2. 如何正确设置'git'以忽略maven和idea文件 将来喜欢他们吗?我很可能会改变 .java.yml个文件。

  3. 我如何只添加和提交我工作过的文件 以前的提交也可以部分提交我编写的代码行吗?我知道可以使用命令git add [full_path_to_A.java] [full_path_to_B.java]单独添加文件。但是,完整路径非常大,可能有更好的方法来处理这个问题。

3 个答案:

答案 0 :(得分:2)

  

这里有什么Untracked文件以及它们是如何创建的?我只是   在项目中写一些Java。

未跟踪文件文件存在于本地,但不是Git存储库的一部分。当您运行git push时,不会记录文件的更改历史记录,也不会将其推送到存储库的远程副本。除非它们已被添加到忽略列表中,否则在查看Git状态时将显示未跟踪的文件。

  

如何正确设置'git'以忽略maven和idea文件   他们将来呢?我很可能会在.java和   .yml文件。

在本地的.gitignore文件中添加此行

.idea/

忽略.idea并添加其他正则表达式以忽略特定文件或目录,如果您不想推送它们

  

我如何只添加和提交我工作过的文件   以前的提交,也可以部分提交   我写的代码行?

运行命令

git add ./            // stage all files 
git commit -m "Some message"    // commit the files

检查this question如何提交文件的部分

答案 1 :(得分:1)

回答你的所有问题:

  1. Untracked files是您文件系统上的文件,但它们不在使用git管理的文件列表中。如果你想用git跟踪它们,你需要git-add它们,否则git-ignore它们。在您的情况下,这些是您的IDE创建的文件,应该被忽略
  2. 您应该查看herehere以获取有关.gitignore文件的信息
  3. 通常这就是git commit的作用。它只包装您的修改,然后您可以将它们推送到远程存储库。但是,这些未经跟踪的文件被git视为“贡献”,因此您需要设置存储库以忽略它们并使它们不被考虑。一旦您的设置正确完善,您将只看到您想要的文件,并且您可以全部提交。但是,如果您需要有关commit commans
  4. 的可能标志的更多信息,请查看here

答案 2 :(得分:1)

当我看到您的问题已得到解答时,我想添加一些有用的信息,其中包含有用的.gitignore文件模板链接。

https://github.com/github/gitignore

看一看,它对你有用。