草庐IT

IDEA中Git的提交、更新、还原

桐花思雨 2023-06-03 原文

目录

1. Git 提交代码

1.1. 提交代码的顺序

1.2. 将项目 add 到缓冲区

本地修改了代码后,需先将代码 add 到暂存区,最后才能真正 push 推送到 git 仓库。首先 IDEA 中,选中要提交的代码 --> 右键 --> Git --> add。这样代码就 add 到了缓冲区中。如下图

1.3. 将缓冲区的项目提交到本地 Git 仓库

将代码 add 到缓冲后,然后再将代码提交到本地 Git 仓库。选中要提交的代码 --> 右键 --> Git --> Commit Directory… --> Commit Message 中输入提交说明 --> 点击Commit。如下图

或者我们直接 Ctrl + K 快捷键就可以了,就能看到如下



如果要是想看我们文件代码与服务器的文件代码有哪些不同的话,可以这样如下


就能看到如下


然后,单击我们刚刚在右下角的 Commit 提交按钮就行了

1.4. 将本地 Git 仓库的项目 push 推送到远程 GitHub

之前所有的步骤都完成后,也就是已经把代码提交到了本地的 Git 仓库中,最后将提交的代码 push 推送到远程仓库,这样本地代码提交到远程就完成了

项目上右键 --> Git --> Repository --> push(将本地代码 push 到远程),这样远程的代码就和本地同步了。有时候在 push 的时候会失败,原因之一是本地代码与远程代码不同步,所以在 push 之前,要在本地将远程代码 pull 拉取一下:项目上右键 --> Git --> Repository --> pull(将远程代码 pull 到本地)。如图


总结:以上步骤就是将本地代码提交到远程库中

  • 首先将代码 add 到本地仓库的缓冲区中
  • 然后再 commit 到本地 Git 仓库
  • 最后将本地 Git 仓库中的代码 push 推送到远程 GitHub

push 失败的话先将远程代码 pull 拉取到本地再 push

2. Git 更新代码

2.1. 提交项目代码前必须先对项目进行更新

此项特别重要,如果不进行更新,别人已经有项目提交到服务器上了,那么你的项目将会提交不上去,使用 Git 解决冲突会比较麻烦,即使你解决了冲突,但是有时候不注意会冲掉别人写的代码,所以提交自己项目前必须进行更新。如图 1:选择 pull 拉取进行更新代码操作

2.2. 更新后的结果

  • 其中图 2:表示从远程 GitHub 上更新下来的代码
  • 3:表示远程 GitHub 上没有需要更新的代码
  • 当服务器上没有需要更新到本地的代码时,则可以放心的进行提交代码的操作

2.3. 更新完成后,提交代码到远程 GitHub

2.3.1. 提交代码到缓冲区

当确定更新代码操作完成之后,此时就可以进行提交代码的操作了

  • 4 中红色的项目代码表示新创建的项目
  • 如果是蓝色,表示修改过的项目;红色和蓝色都表示待提交项目
  • 如果是红色的,则选择图 5:add
  • 如果项目是蓝色,则选择图 5.1 :commit file

2.3.1.1. 提交代码到缓冲区的结果

add 操作完成之后项目颜色会变成绿色,如图 6,红色表示为进行 add 操作

2.3.2. 将缓冲区的代码提交到本地 Git 仓库

进行 Commit Directory 操作,如图 7

2.3.3. 将本地 Git 仓库的项目 push 推送到远程 GitHub

当出现如图 8 的窗口时,绿色和蓝色表示待提交项目,在这里可以进行相应的勾选,下面的 Commit Message 区域填写模块名称或者提交代码的相应信息,下面的下拉菜单选择 Commit and Push,如红色 8 区域

2.3.3.1. push 推送到远程 GitHub 的结果

如图 9:当出现下面窗口时,选择红色区域 9 部分的 push 按钮,进行提交项目操作,至此项目提交操作完成,需要等几秒钟会有相应提交成功或者是提交失败的提示。

  • 如果提交失败:是因为你本地项目没有进行更新,和服务器上的项目有冲突,需要解决冲突,然后才能提交
    • push 推送失败时,说明服务器上的代码和本地代码有冲突,这时则需要把本地有冲突的代码备份,然后还原,再 push,这时 push 成功后,再把自己备份的代码部分,拷入相应的代码中,这时候再进行 push 就可以了

3. Git 还原代码

如图选择 10 区域按钮,Revert 进行还原操作

有关IDEA中Git的提交、更新、还原的更多相关文章

  1. ruby-on-rails - 如何验证 update_all 是否实际在 Rails 中更新 - 2

    给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru

  2. ruby-on-rails - 使用 rails 4 设计而不更新用户 - 2

    我将应用程序升级到Rails4,一切正常。我可以登录并转到我的编辑页面。也更新了观点。使用标准View时,用户会更新。但是当我添加例如字段:name时,它​​不会在表单中更新。使用devise3.1.1和gem'protected_attributes'我需要在设备或数据库上运行某种更新命令吗?我也搜索过这个地方,找到了许多不同的解决方案,但没有一个会更新我的用户字段。我没有添加任何自定义字段。 最佳答案 如果您想允许额外的参数,您可以在ApplicationController中使用beforefilter,因为Rails4将参数

  3. git使用常见问题(提交代码,合并冲突) - 2

    文章目录git常用命令(简介,详细参数往下看)Git提交代码步骤gitpullgitstatusgitaddgitcommitgitpushgit代码冲突合并问题方法一:放弃本地代码方法二:合并代码常用命令以及详细参数gitadd将文件添加到仓库:gitdiff比较文件异同gitlog查看历史记录gitreset代码回滚版本库相关操作远程仓库相关操作分支相关操作创建分支查看分支:gitbranch合并分支:gitmerge删除分支:gitbranch-ddev查看分支合并图:gitlog–graph–pretty=oneline–abbrev-commit撤消某次提交git用户名密码相关配置g

  4. objective-c - 在设置 Cocoa Pods 和安装 Ruby 更新时出错 - 2

    我正在尝试为我的iOS应用程序设置cocoapods但是当我执行命令时:sudogemupdate--system我收到错误消息:当前已安装最新版本。中止。当我进入cocoapods的下一步时:sudogeminstallcocoapods我在MacOS10.8.5上遇到错误:ERROR:Errorinstallingcocoapods:cocoapods-trunkrequiresRubyversion>=2.0.0.我在MacOS10.9.4上尝试了同样的操作,但出现错误:ERROR:Couldnotfindavalidgem'cocoapods'(>=0),hereiswhy:U

  5. ruby-on-rails - Rails Associations 的更新方法是什么? - 2

    这太简单了,太荒谬了,我在任何地方都找不到关于它的任何信息,包括API文档和Rails源代码:我有一个:belongs_to关联,我开始理解当您没有关联时您在Controller中调用的正常模型方法与您有关联时调用的方法略有不同。例如,我的关联在创建Controller操作时运行良好:@user=current_user@building=Building.new(params[:building])respond_todo|format|if@user.buildings.create(params[:building])#etcetera但我找不到关于更新如何工作的文档:@user

  6. ruby - Dropbox 类似 git 的服务——没有 rsync 和 inotify - 2

    关于如何使用git设置类似Dropbox的服务,您有什么建议吗?您认为git是解决此问题的合适工具吗?我在考虑使用git+rush解决方案,你觉得怎么样? 最佳答案 检查这个开源项目:https://github.com/hbons/SparkleShare来自项目的自述文件:Howdoesitwork?SparkleSharecreatesaspecialfolderonyourcomputer.Youcanaddremotelyhostedfolders(or"projects")tothisfolder.Theseprojec

  7. ruby - 混帐 & ruby : How can I unset the GIT_DIR variable from inside a ruby script? - 2

    我编写了一个非常简单的“部署”脚本,作为我的裸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

  8. ruby - 让 bundler 使用 http : instead of git:? - 2

    我正在安装gitlabhq,并且在Gemfile中有对某些资源的“git://...”的引用。但是,我在公司防火墙后面,所以我必须使用http://。我可以手动编辑Gemfile,但我想知道是否有另一种方法告诉bundler使用http://作为git存储库? 最佳答案 您可以通过运行gitconfig--globalurl."https://".insteadOfgit://或通过将以下内容添加到~/.gitconfig:[url"https://"]insteadOf=git://

  9. ruby-on-rails - OSX Yosemite 更新破坏了 pow.cx - 2

    升级到OSXYosemite后,我现有的pow.cx安装不起作用。升级到最新的pow.cx无效。通过事件监视器重新启动它也没有成功。 最佳答案 卸载(!)并重新安装解决了这个问题。curlget.pow.cx/uninstall.sh|shcurlget.pow.cx|sh 关于ruby-on-rails-OSXYosemite更新破坏了pow.cx,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q

  10. ruby - 将 Gitlab 从 9.3.7 更新到 9.3.8 安装 re2 时出错 - 2

    我们在Ubuntu14.04和Gitlab9.3.7上运行,运行良好。我们正在尝试更新到Gitlabv9.3.8的最新安全补丁,但它给我们这个错误:Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension.currentdirectory:/home/git/gitlab/vendor/bundle/ruby/2.3.0/gems/re2-1.0.0/ext/re2/usr/local/bin/ruby-r./siteconf20170720-19622-15i0edf.rbextconf.rbcheckingformain(

随机推荐