Git在我们工作中使用得非常广泛,记得刚入职拿会公司使用的还是SVN,后面也切换到Git。对比一下SVN跟Git两者各自都有好处吧,个人觉得Git操作起来比SVN复杂,但是在开发中确实方便一点。下面总结一下工作中常用的操作;


有时候我们需要看远程代码核对一些代码时,就可以选择对应的分支进行查看。有时候出BUG时,一般都可以在这里查看提交记录,定位责任。

这个目录下有有个Default Changelist 默认目录,一般我们的修改都在这个默认目录下,如果平常我们有写本地环节文件不想提交到远程仓库,但是又怕我们误提交,就可以新建个目录,放到另外目录下。这样我们提交的时候默认都是Default Changelist下的文件,就不会误提交了。




一般我们想提交代码时,为了避免别人也有提交过代码造成冲突,代码丢失的情况,提交前要先更新合并下代码。

这里可以选择提交后并推送到远程仓库,或者提交到本地仓库不推送远程。

暂存非常好用,比如我现在在改一个1021版本的BUG,改到一半时,有个更急的BUG来了,它是1017版本的。这时候我肯定要切换分支到1017上进行BUG修复后提交代码,但是我现在在1021版本上写一半的代码,我可以将它暂存起来,这样我切换到1017分支的时候,就不怕冲突了。等修复完1017BUG提交完代码后,再切换到1021恢复下暂存的代码继续敲就完事了。

有时候我们的代码提交到了本地仓库,但是还没提交到远程仓库时,我发现我还有一个文件忘记提交了,但是我又不是提交两次,这时候我们可以回滚提交后,再重新提交。

工作中经常遇到很多因为各种原因,需要版本延迟,所以我们这个代码如果已经提交了,就需要撤销。Revert 后代码就没了,所以要提交拉好一个新的分支后再去Revert,这样等排好上线版本的时候,再将新分支合并过去。

这个工作中提交完代码后,发现代码有BUG,我需要撤下来重新修改,而且我不想有任何记录,这时候我们可以回到到指定记录,回退后指定的记录前面的所有记录就都不见了。reset 有几种模式:
Soft:回退到指定记录,指定记录前的代码会被保存到暂存区。如果还要提交,直接commit即可。
mixed:回退到指定记录,指定记录前的代码会被保存到工作区,也就是如果还要提交代码的话,我们需要先add,再commit才行。
hard:回退到指定记录,指定记录前的代码会全部被清空。包括未提交的代码也会被清空.
hard:回退到指定记录,指定记录前的代码会全部被清空。包括未提交的代码不会被清空

有时候我们提交了多次代码,但是我们后面提测的时候,发现日志记录太多了,很没有必要。这时候我们可以rebase把记录合并一下。


工作中常用的命令其实也不是很多,但是最基本的我们要掌握,很多时候合代码经常会合出BUG来,所以对git等工具的掌握十分重要。本人总结的知识点不是很全,有时间再详细补全一下。
文章目录git常用命令(简介,详细参数往下看)Git提交代码步骤gitpullgitstatusgitaddgitcommitgitpushgit代码冲突合并问题方法一:放弃本地代码方法二:合并代码常用命令以及详细参数gitadd将文件添加到仓库:gitdiff比较文件异同gitlog查看历史记录gitreset代码回滚版本库相关操作远程仓库相关操作分支相关操作创建分支查看分支:gitbranch合并分支:gitmerge删除分支:gitbranch-ddev查看分支合并图:gitlog–graph–pretty=oneline–abbrev-commit撤消某次提交git用户名密码相关配置g
我有一个使用SeleniumWebdriver和Nokogiri的Ruby应用程序。我想选择一个类,然后对于那个类对应的每个div,我想根据div的内容执行一个Action。例如,我正在解析以下页面:https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=puppies这是一个搜索结果页面,我正在寻找描述中包含“Adoption”一词的第一个结果。因此机器人应该寻找带有className:"result"的div,对于每个检查它的.descriptiondiv是否包含单词“adoption
我正在我的Rails项目中安装Grape以构建RESTfulAPI。现在一些端点的操作需要身份验证,而另一些则不需要身份验证。例如,我有users端点,看起来像这样:moduleBackendmoduleV1classUsers现在如您所见,除了password/forget之外的所有操作都需要用户登录/验证。创建一个新的端点也没有意义,比如passwords并且只是删除password/forget从逻辑上讲,这个端点应该与用户资源。问题是Grapebefore过滤器没有像except,only这样的选项,我可以在其中说对某些操作应用过滤器。您通常如何干净利落地处理这种情况?
在我做的一些网络开发中,我有多个操作开始,比如对外部API的GET请求,我希望它们同时开始,因为一个不依赖另一个的结果。我希望事情能够在后台运行。我找到了concurrent-rubylibrary这似乎运作良好。通过将其混合到您创建的类中,该类的方法具有在后台线程上运行的异步版本。这导致我编写如下代码,其中FirstAsyncWorker和SecondAsyncWorker是我编写的类,我在其中混合了Concurrent::Async模块,并编写了一个名为“work”的方法来发送HTTP请求:defindexop1_result=FirstAsyncWorker.new.async.
a=[3,4,7,8,3]b=[5,3,6,8,3]假设数组长度相同,是否有办法使用each或其他一些惯用方法从两个数组的每个元素中获取结果?不使用计数器?例如获取每个元素的乘积:[15,12,42,64,9](0..a.count-1).eachdo|i|太丑了...ruby1.9.3 最佳答案 使用Array.zip怎么样?:>>a=[3,4,7,8,3]=>[3,4,7,8,3]>>b=[5,3,6,8,3]=>[5,3,6,8,3]>>c=[]=>[]>>a.zip(b)do|i,j|c[[3,5],[4,3],[7,6],
我有一个非常简单的Controller来管理我的Rails应用程序中的静态页面:classPagesController我怎样才能让View模板返回它自己的名字,这样我就可以做这样的事情:#pricing.html.erb#-->"Pricing"感谢您的帮助。 最佳答案 4.3RoutingParametersTheparamshashwillalwayscontainthe:controllerand:actionkeys,butyoushouldusethemethodscontroller_nameandaction_nam
关于如何使用git设置类似Dropbox的服务,您有什么建议吗?您认为git是解决此问题的合适工具吗?我在考虑使用git+rush解决方案,你觉得怎么样? 最佳答案 检查这个开源项目:https://github.com/hbons/SparkleShare来自项目的自述文件:Howdoesitwork?SparkleSharecreatesaspecialfolderonyourcomputer.Youcanaddremotelyhostedfolders(or"projects")tothisfolder.Theseprojec
我编写了一个非常简单的“部署”脚本,作为我的裸git存储库中的post-updateHook运行。变量如下livedomain=~/mydomain.comstagingdomain=~/stage.mydomain.comgitrepolocation=~/git.mydomain.com/thisrepo.git(bare)core=~/git.mydomain.com/thisrepo.gitcore==addedremoteintoeachlive&stagegitslive和stage都初始化了gitrepos(非裸),我已经将我的裸仓库作为远程添加到它们中的每一个(名为co
我正在安装gitlabhq,并且在Gemfile中有对某些资源的“git://...”的引用。但是,我在公司防火墙后面,所以我必须使用http://。我可以手动编辑Gemfile,但我想知道是否有另一种方法告诉bundler使用http://作为git存储库? 最佳答案 您可以通过运行gitconfig--globalurl."https://".insteadOfgit://或通过将以下内容添加到~/.gitconfig:[url"https://"]insteadOf=git://
我需要在rail3中使用标准注册/登录/忘记密码功能进行身份验证。是否有大多数人为此使用的插件或其他东西? 最佳答案 我不确定最常用的方法是什么-但可以肯定的是,Plataformatec的“Devise”是一个非常流行的方法:http://github.com/plataformatec/devise我已经尝试了一些authgem,对我来说,它是最简单的设置和修改以满足我的需要。它内置了密码恢复、帐户确认(如果需要)和其他一些非常方便的功能。 关于ruby-on-rails-在Rail