Git忽略已经提交过一次文件Git忽略文件
文章目录
Git忽略已经提交过一次文件Git忽略文件
从未push过
从未提交过的文件可以用.gitignore
也就是添加之后从来没有提交(commit)过的文件,可以使用.gitignore忽略该文件
该文件只能作用于未跟踪的文件(Untracked Files),也就是那些从来没有被 git 记录过的文件
在.gitignore中写忽略文件或文件夹。注意相对路径是项目根数据
//忽略文件
Project/test/123.txt
//忽略文件夹
Project/test/
已经push过的
删除git仓库文件,本地保留
已经推送(push)过的文件,想从git远程库中删除,并在以后的提交中忽略,但是却还想在本地保留这个文件
执行命令
//忽略文件
git rm --cached Xml/config.xml
//忽略文件夹
git rm -r --cached Xml
这时候只是从本地缓存里删除了,还需要提交到git仓库里。
如下命令或者配置SourceTree使用
git commit -m 'delete somefile'
git push
git远程仓库和本地都删除
这个使用SourceTree工具比较容易实现。
或者执行命令
//忽略文件
git rm Xml/config.xml
//忽略文件夹
git rm -r Xml
当然也需要commit
已经推送(push)过的文件,想在以后的提交时忽略此文件,即使本地已经修改过,而且不删除git远程库中相应文件
执行命令
//忽略文件
git update-index --assume-unchanged Xml/config.xml
//忽略文件夹
git update-index --assume-unchanged $(git ls-files | tr '\n' ' ')
比如有一个配置文件 jdbc.properties 记录数据库的链接信息,每个人的链接信息肯定不一样,但是又要提供一个标准的模板,用来告知如何填写链接信息,那么就需要在git远程库上有一个标准配置文件,然后每个人根据自己的具体情况,修改一份链接信息自用,而且不会将该配置文件提交到库!
扩展其它命令
本地创建分支并提交到远程分支上
像bitbit上,后台是不提交创建其它分支的操作,默认只有master分支,如何创建dev等其它分支
本地先创建好分支然后推送到远程,如果远程没有这个分支,则会自动创建这个远程分支
git checkout -b feature-branch //创建并切换到分支feature-branch
git push origin feature-branch:feature-branch //推送本地的feature-branch(冒号前面的)分支到远程origin的feature-branch(冒号后面的)分支(没有会自动创建)
其它命令
-
列出本地分支:git branch
-
删除本地分支: git branch -D BranchName
其中-D也可以是–delete,如:
git branch --delete BranchName
- 删除本地的远程分支:git branch -r -D origin/BranchName
- 拉取代码:git clone url
- 拉取分支:git pull <远程主机名> <远程分支名>:<本地分支名> 比如:git pull origin dev:dev
回退到上次提交,不清除本地提交的代码
git reset --soft HEAD~1