SVN、Git设置提交时忽略的⽂件在SVN版本控制时,新⼿经常会遇到这样的问题:
1、整个项⽬⼀起提交时会把bin 、 gen 、 .project ⼀同提交⾄服务器
2、避免提交编译、本地配置等⽂件在项⽬中单独对src、res进⾏提交,然⽽整个项⽬依然成有未提交⽂件状态
3、由于bin机制是删除其所有内容重新创建编译⽂件,造成svn冲突、异常
解决办法很简单:
情况⼀:创建项⽬初期
直接将bin、gen、.project 等不需要提交和版本统⼀的⽂件加⼊ ignore list
情况⼆:已经是开发中期、应⽤中项⽬
1、已经冲突
将项⽬clean up 还原最初版本,再update 与svn统⼀后将其加⼊ ignore list 再提交
2、普通路径
还原或更新⾄与svn版本统⼀后加⼊ ignore list
在进⾏了忽略控制后,在myeclipse或windows 界⾯下的 TortioseSVN ⼯具可直接对整个项⽬进⾏提交,不会影响编译⽂件等。P.S.
1)TortioseSVN ⼯具,右键 add ignore list
2)android项⽬建议忽略:.settings 、bin、gen、.project
=======================================================================================
个⼈正在使⽤的:global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.pyc *.pyo [Tt]humbs.db [Bb]in [Oo]bj *.suo *.user
( [Bb]in [Oo]bj *.suo *.user是个⼈增加的,其他的可以根据⾃⼰的使⽤情况来确定)
更新⽇期:2018-05-21
(来⾃⽹络)针对 VS2008和VS2010的 .Net 和 C++项⽬:bin obj *.suo *.user *.ncb *.aps *.sdf *.opensdf
摘⾃下⽂:
在Global ignore pattern中设置:*.suo Bin log4net Obj obj bin *.user
eclipse中SVN设置
SVN客户端中设置
Git客户端创建
Git官⽅⽂档
Ignoring files
From time to time, there are files you don't want Git to check in to GitHub. There are a few ways to tell Git which files to ignore.
Create a local .gitignore 推荐使⽤!
If you create a file in your repository named .gitignore, Git uses it to determine 确定 which files and directories to ignore, before you make a
commit.
A .gitignore file should be committed into your repository, in order to share the ignore rules with any other users that clone the repository.
GitHub maintains 维护 an official list of recommended 推荐的官⽅列表.gitignore files for many popular operating systems, environments, and
languages .
In Terminal, navigate to the location of your Git repository.在终端(本地磁盘),导航到到Git库所在位置
Enter touch .gitignore to create a .gitignore file.创建⽂件
If you already have a file checked in, and you want to ignore it, Git will not ignore the file if you add a rule later. In those cases, you must untrack
the file first, by running the following command in your terminal:
git rm --cached
Create a global .gitignore 全局的
You can also create a global .gitignore file, which is a list of rules for ignoring files in every Git repositories on your computer 电脑中的所有库. For
example, you might create the file at ~/.gitignore_global and add some rules to it.
Open Terminal.
Run the following command in your terminal:
git config --ludesfile ~/.gitignore_global
Explicit repository excludes 明确的库排除
If you don't want to create a .gitignore file to share with others,不想共享忽略⽂件(仅仅想在⾃⼰本地库中忽略) you can create rules that are not committed with the repository 规则不会被提交到库中. You can use this technique 技巧 for locally-generated files 本地⽣成的⽂件 that you don't expect other users to generate,不希望其他⽤户⽣成 such as files created by your editor.
Use your favorite text editor to open the file called .git/info/exclude within the root of your Git repository. Any rule you add here will not be checked
in, and will only ignore files for your local repository.
In Terminal, navigate to the location of your Git repository.
Using your favorite text editor, open the file .git/info/exclude.
================================================================================
Git是⼀款免费、开源的分布式版本控制系统,⽤于敏捷⾼效地处理任何或⼩或⼤的项⽬。本教程提供⼀系列的常⽤操作,本⽂讲解如何对⽂件夹内的⽂件忽略,让GIT不对它进⾏操作,仅供参考。
⼯具/原料
GIT
TortoiseGit
⽅法/步骤
1. 先看⼀下⽂件夹内情况
2. 在GIT库⽂件夹上右击选择”TortoiseGit”->”Add to ignore list”->"***"
注:*** 菜单显⽰的是要忽略的⽂件名
3. 勾选相应的选项
4. 点OK确认
5. 这时发现在Git⽬录下的.gitignore⽂件也发⽣了变化
6. 打开这个⽂件看⼀下,发现要忽略的⽂件名已写⼊到⽂件内
7. 以后commit时,git就不会对它受控了
说明:这个⽅式创建的.gitignore⽂件会⼀起提交到版本库中,这样的话,其他⼈也可以下载,并应⽤这个设置
==================================================================================================
最近在开发项⽬时项⽬组完全抛弃了之前的VSS,开始全⾯使⽤SVN管理版本。虽然SVN⾮常不错,但是也给项⽬组带来了⼀些不⼩的⿇烦。⿇烦就是⼀些VS⾃动⽣成的⼆进制⽂件夹以及⼀些如*.suo *.user等⼆进制⽂件经常引起冲突。bin和obj内的dll⽂件往往是调试时产⽣的,这些⽂件如果进⼊版本库,那简直就是灾难,特别是⼀个solution下⾯有多个⼯程的时候。
⽹上有说,对整个解决⽅案⽬录设置属性,排除这些⽂件,不过我发现正常使⽤还不错,但⼀打分⽀然后再切回来时,这些设置就丢失了,⾯对7、8个⼈的团队,版本冲突解决是件痛苦的事情。
终于我发现了,原来全局排除可以快速解决这个问题,在TortoiseSVN中点击General,然后在Global ignore pattern中设置我们项⽬中不想进⼊版本库的⽂件或⽂件夹以空格分开即可,如我们组最讨厌以下⽬录:*.suo Bin log4net Obj obj bin *.user ,那么就设置如下图。之后点击“应⽤”,我们⼜⼀次感受
到⽣活的美好了。
==============================================================================================
也可以在配置⽂件中设置全局忽略样式
右键任意位置,到【TortoiseSVN】→【设置】,在弹出窗⼝中,在【常规设置】→【全局忽略样式】,这⾥有⼀个输⼊框,以前也有⽹友说配置⽅式在这⾥添加,但是!添加后不⽣效!
不要在这⾥修改,点下⾯【Subversion配置⽂件】处的【编辑】,打开配置⽂件
在配置⽂件⾥到【global-ignores =】这⼀⾏,在后⾯添加想要忽略的⽂件或⽂件夹,规则时间⽤空格分隔,⽀持正则规则。
⽐如,添加过滤class⽂件和bin⽂件夹,在【global-ignores =】最后添加⾯【 *.class *bin】,保存。忽略规则⽣效了!
个⼈说明:在启⽤这⾥的配置的时候,是把【global-ignores =】这⼀⾏的 “#” 删除了表⽰启⽤,但是global-ignores前⾯不能有空格,不然TortoiseSVN会提⽰配置错误的。
===========================================================================================================
TortoiseSVN客户端初次导⼊⽂件到服务器的时候会忽略⼀些⽂件,刚开始使⽤SVN我不知道这个特性,导致了最近⼀个项⽬最⼤损失:原以为导⼊操作的时候,TortoiseSVN客户端会把所有⽂件都提交。
于是删除了原来保存在本机电脑的原始数据,但服务端那个并不是完整的,过滤了⼀些⽂件。当发⽣错误的时候,想要恢复到原来那个原始版本,结果怎么也恢复不了了。
C#做winform开发,我想要在初次导⼊数据100%⽆遗漏的提交。第⼀次导⼊不启⽤全局忽略,我这样⼦设置:
点编辑,在config配置⽂件中,查global-ignores 。并在前⾯使⽤#注释这句代码,如:# global-ignores
当你第⼀次提交完成后,在把config配置⽂件中的# global-ignores前⾯的注释给删除“# ”(包括#后⾯的那个空格,不然TortoiseSVN会报错),如下:
那么以后恢复的时候,可以指定回滚的版本了,就可以恢复以前的数据了。
说明:如下图中的的两个地⽅,如果有⼀个地⽅配置了过滤了某些类型的⽂件或⽂件夹,则都⽆法提交到svn服务器上,必须这两个地⽅都不启⽤。
===========================================================================================
⽅式⼀:
在资源管理器中,右键⼀个未加⼊版本控制⽂件或⽬录,并从弹出菜单选择TortoiseSVN →Add to Ignore List,会出现⼀个⼦菜单,允许你仅选择该⽂件或者所有具有相同后缀的⽂件。如果你想从忽略列表中移除⼀个或多个条⽬,右击这些条⽬,选择TortoiseSVN →从忽略列表删除。
⽅式⼆:
Settings > General > Global ignore pattern 添加了⼀个 *.class
svn:ignore、global-ignores区别:
1、svn:ignore:只对当前⽬录有效;
global-ignores:是全局有效,就是所有⽬前都有效;
2、svn:ignore:必须每个⼯作⽬录都要设置,个性化配置;
global-ignores:只需要配置⼀次,使⽤⽅便;
================================================================================================
如果某个⽂件已经提交到了svn,这个时候需要通过svn来把服务器上的改⽂件删除,然后再在本地,点击该⽂件
选择把该⽂件删除,recursively表⽰递归删除(⽂件下->下级⽂件夹->下级⽂件夹.....)
如过是同⼀忽略某类⽂件夹,⽐较bin,obj等,可以通过项⽬所在⽂件夹,空⽩处右键,选择svn的属性项⽬,
如图所⽰,点击“属性”,弹出如下界⾯:
点击上图中的【⾼级】,现在有的版本显⽰的是【其他】,按照下⾯图中所⽰进⾏选择和录⼊:
勾选上图中的“Apply property recursively”,点击“OK”即可。
如果已经提交到了svn服务器上,也必须先通过svn把服务器上的对应⽬录删除,然后把本地的对应⽬录删除,然后update签⼊同步⼀下,就可以了。
ignore the waste behind you忽略的⽂件或⽬录的图标是:
============================================================
2013-06-23 更
具体实现
1. 在解决⽅案⽬录上点右键
2. 在乌龟菜单中到"属性"点开
3. 在弹出窗中点"新增"
4. 在弹出窗中的"属性"中选择"svn:ignore"
5. 然后取值中填上bin和obj各⼀⾏
6. 确认并提交⽬录更新
然后每次提交解决⽅案⽬录的时候就会忽略掉bin和obj⽬录
⾸先要确保的是操作的⽬录已经进⾏版本控制,也就是执⾏了svn 检出的命令。(刚开始可以建⼀个
空的svn版本⽬录,在⽬录中执⾏检出命令,并不会删除原来⽂件的内容。)否则你看到的是下图的菜单,没有属性按钮。
⼀旦⽬录加⼊版本控制之后,右键就可以看到下图的菜单了。
点击属性之后,【新建】==》【⾼级】或者【其他】(不同的TortoiseSVN版本叫法不⼀样)
按输⼊框设置忽略
=========================================================================
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论