标签:
上一篇文章介绍了Git远程仓库的一些使用,但是还是有些东西需要补充一下,所以有了这个续篇。
前一篇中,我们介绍了Git的patch功能,当我们生成patch之后,"git status"就会显示patch文件是"Untracked files"。当然,我们也没有必要去跟踪这个patch文件。
同样,项目中可能会经常生成一些Git系统不需要追踪(track)的文件,在编译生成过程中 产生的文件或是编程器生成的临时备份文件。我们可以在使用"git add"是避免添加这些文件到暂存区中,但是每次都这么做会比较麻烦。
所以,为了满足上面的需求,Git系统中有一个忽略特定文件的功能。我们可以在工作目录中添加一个叫".gitignore"的文件,来告诉Git系统要忽略哪些文件。
可以看到,当我们使用添加过".gitignore"文件后,文件中的过滤规则就生效了。
注意:
下面介绍一下常用的过滤语法:
下面举一些简单的例子:
在Git仓库中有一个".git/info/exclude"文件,当我们指向对特定的仓库使用特定的过滤规则时,我们可以把过滤语句写在exclude文件中。
前面一篇文章简单的介绍了push、pull命令的使用,这里将进一步展开介绍。
首先,我们看看"git branch"和"git remote"命令,它们可以给我们提供很多有用的信息。
push命令用来将本地分支的更新推送的远程仓库,该命令的格式如下:
git push <远程主机名> <本地分支名>:<远程分支名>
通过这种方式push的时候,报出了一个警告,提示"push.default"没有设置。
在Git中push有两种设置:
根据Git的提示,我们可以通过"git config --global push.default"来设置push方式。
pull命令的作用是取回远程某个分支的更新,然后合并到指定的本地分支,pull命令格式如下:
git pull <远程主机名> <远程分支名>:<本地分支名>
取回origin主机release-1.0分支的更新,与本地的release-1.0分支合并。
一般来说,pull命令都是在关联的本地分支和远程分支之间进行;当然,你可以使用不关联的本地分支和远程分支进行pull操作,但是不建议这么做。
如果真的需要别的远程分支上的更新,建议使用"cherry-pick"把这个更新拿到关联的远程分支上,然后在关联分支上进行pull操作。
表示取回origin/next远程分支的更新,然后合并到当前分支
表示本地的当前分支自动与关联的origin主机分支进行合并
"git pull"操作实际上等价于,先执行"git fetch"获得远程更新,然后"git merge"与本地分支进行合并。
当然,pull命令也支持使用rebase模式进行合并:
git pull --rebase <远程主机名> <远程分支名>:<本地分支名>
在这种情况下,"git pull"就等价于"git fetch"加上"git rebase"。
建议使用"git fetch"加上"git rebase"的方式来取代"git pull"获取远程更新,具体原因后面再介绍。
fetch命令比较简单,作用就是将远程的更新取回到本地。
该命令表示将远程origin主机的所有分支上的更新取回本地
该命令只取回远程origin主机上master分支上的更新
通过这些介绍,相信大家一定会更加熟悉远程仓库操作命令,使得在Git环境中工作的更加顺利。
Git Step by Step – (7) Git远程仓库(续)
标签:
原文地址:http://www.cnblogs.com/wilber2013/p/4202500.html