`
葉小兔
  • 浏览: 30187 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

git:多个commit合并提交

阅读更多

git:多个commit合并提交


学习ror和git有段时间了,但在git comit提交的时候因为需要重新修改code的小bug和小错误,而重复的提交在写commit_message的时候就会很尴尬,总结方法如下:


  •   如果在提交前已经进行了错误的commit合并的话执行 git reset (注意:这样会丢失没有提交的修改,并且不会留下任何痕迹)http://blog.sina.com.cn/s/blog_68af3f090100rp5r.html
    1. #回退所有内容到上一个版本  
    2.  

    3. git reset HEAD^  
    4.  

    5. #回退a.py这个文件的版本到上一个版本  
    6.  

    7. git reset HEAD^ a.py  
    8.  

    9. #向前回退到第3个版本  
    10.  

    11. git reset –soft HEAD~3  
    12.  

    13. #将本地的状态回退到和远程的一样  
    14.  

    15. git reset –hard origin/master  
    16.  

    17. #回退到某个版本  
    18.  

    19. git reset 057d  
    20.  

    21. #回退到上一次提交的状态,按照某一次的commit完全反向的进行一次commit  
    22.  

    23. git revert HEAD  

  • 使用 git rebase --abort  用来restore原来的<branch> 并且删除 .git / rebase-apply 文件
  • 随后可以使用git log的命令查看自己的commit历史看是否已经恢复到你期望的状态
  • 使用git rebase -i HEAD~*  其中* 代表你期望合并的commit的数目,会出现*数目的commit的历史上面的是*条历史中最晚的,即使*条数目多了也没事,只需要在你期望提交的commit下面的commit前面的pick更改成S就行,在终端中修改使用到了nano编辑器,CTRL_O和CTRL_X保存退出
  • 然后push到github上( 适用 git push -f origin master 需要谨慎 )

Ubuntu_NANO编辑器操作:
^表示键盘上的ctrl键,^G表示同时按下ctrl和g 
(F1)表示按F1键 ,M-表示使用alt+后面的键 

^G ==(F1) Invoke the help menu 
调用帮助菜单 

^X ==(F2) Close currently loaded file/Exit from nano 
退出 

^O ==(F3) Write the current file to disk == ^O WriteOut 
保存 
然后回车就保存了 

^J ==(F4) Justify the current paragraph 
调整当前段落(注意:编辑配置文件的不要用这东西,格式一下就出问题了哦) 

^R ==(F5) Insert another file into the current one 
插入其他的文件到当前的文件,而且查找文件的时候支持tab 

^W ==(F6) Search for text within the editor 
查找 

^Y ==(F7) Move to the previous screen 
上一屏幕 

^V == ( F8 ) Move to the next screen 
下一屏幕 

^K ==(F9) Cut the current line and store it in the cutbuffer 
裁减当前一排并保存在缓冲区 

^U ==(F10) Uncut from the cutbuffer into the current line 
将缓冲区的东西粘贴到此 

^C ==(F11) Show the position of the cursor 
显示光标位置 

^T ==(F12) Invoke the spell checker, if available 
调用拼写检查程序 

^P Move up one line 
向上移动一行 

^N Move down one line 
向下移动一行 

^F Move forward one character 
向前移动光标一格 

^B Move back one character 
向后移动光标一格 

^A Move to the beginning of the current line 
移动到当前行的开头 

^E Move to the end of the current line 
移动到当前行的末尾 

^L Refresh (redraw) the current screen 
刷新当前屏幕 

^^ (M-A) Mark text at the current cursor location 
标记文本 

^D Delete the character under the cursor 
删除光标后一个字母 

^H Delete the character to the left of the cursor 
向左边删一个字母 

^I Insert a tab character 
插入一个tab值 

^\ (F14) (M-R) Replace text within the editor 
查找并且替换 

^M Insert a carriage return at the cursor position 
插入一个回车 

^_ (F13) (M-G) Go to a specific line number 
跳转到某行 

^Space Move forward one word 
前进一个单词 

M-Space Move backward one word 
后退一个单词 

M-] Find other bracket 
搜索下一个括号 

M-< Open previously loaded file 
打开先前加载的文件 

M-> Open next loaded file 
打开下一个加载的文件 

M-I Auto indent enable/disable 
是否首行缩进 

M-Z Suspend enable/disable 
是否悬挂 

M-X Help mode enable/disable 
帮助模式 

M-M Mouse support enable/disable 
鼠标支持 
分享到:
评论

相关推荐

    git 操作命令,解决前端开发上传代码至代码仓库,解决报错,启动服务器

    git rebase(对最近某一阶段的提交历史进行编辑、删除、复制、粘贴、...fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f) exec:执行shell命令(缩写:x) drop:丢弃该commit(缩写:d)

    Git: Helper for the Open Source world

    如果需要将一个提交拆分为多个,可以使用“git rebase -i”,这样便于其他开发者对代码进行评审。 在团队协作中,Git工作流的使用是必须的。它定义了如何进行特性开发、代码审查以及如何将代码合并到主分支中。例如...

    Git使用教程

    * git commit:提交 * git branch -a:查看所有的分支 * git branch -r:查看远程所有分支 * git commit -am "init":提交并且加注释 * git remote add origin:添加远程库 * git push origin master:将文件推送到...

    前端开源库-grunt-git

    4. **gitadd**和**gitcommit**:在代码变动后,自动添加新文件或修改过的文件,并进行提交,记录变更。 5. **gitpush**:完成构建和测试后,可以将本地提交推送到远程仓库,实现自动化部署。 在实际使用中,grunt-...

    ### Git: 分布式版本控制系统的信息介绍

    - **明确具体**:提交信息应该简洁明了,清楚地描述此次提交解决了什么问题或者实现了什么新功能,这对于后续的代码审查和维护非常重要。 3. **合理使用分支**: - **隔离开发**:通过创建新的分支来进行功能开发...

    git安装及使用

    4. **合并分支**:使用`git merge`合并分支时,若存在冲突,需手动编辑冲突文件并`git add`,然后`git commit`。 5. **Stash**:暂时保存未提交的更改,使用`git stash`,之后可以恢复`git stash apply`或`git stash...

    《git基础知识》PPT课件.ppt

    4. Git commit: 提交文件到 Git 仓库 5. Git pull: 从服务器下载 Git 仓库,并合并到本地仓库 6. Git push: 将本地 Git 仓库推送到服务器 7. Git fetch: 从服务器下载 Git 仓库,但不合并到本地仓库 8. Git checkout...

    Atom-git-commit-atom,在当前atom窗格中轻松编辑git提交消息.zip

    4. **多文件提交**: 如果有多个文件需要提交,插件会列出所有待提交的文件,用户可以选择要包含在此次提交中的文件。 5. **增强的交互**: 可能支持撤销、重做、复制粘贴等常见的文本编辑操作,提供更好的用户体验。 ...

    深入剖析:Git commit与push的终极区别

    4. **支持分布式开发**:Git支持成千上万个并行开发的分支,使得多开发者协作变得更加容易 。 5. **易于备份**:由于Git是分布式的,每个开发者的本地仓库都是一个完整的备份,这提高了数据的安全性 。 6. **分支和...

    Python-WordGit一个工具允许您使用git来区分和合并Worddocx文件

    通过这个工具,团队成员可以各自编辑文档,然后使用Git来解决冲突,避免了传统方式下手动合并可能导致的混乱。 ### 6. 注意事项 - 虽然Python-WordGit提供了一种处理Word文档的解决方案,但它可能无法完美处理复杂...

    git(mac/win) 两种版本.zip

    Git-2.15系列是Git的一个稳定版本,引入了多项改进和新特性,如更高效的性能优化、增强的合并工具和更好的交互式界面。 2. 安装Git: - Mac版Git-2.15.0:对于Mac用户,可以通过Homebrew或者直接下载安装包进行...

    Git Commit 规范1

    如果修改只影响一个特定范围,可以写在括号内,多个范围用英文逗号分隔。如果影响广泛,可以使用`*`表示,但最好避免一次修改过多范围以保持原子性。 3. **主题(Subject)**: 主题是Commit目的的简短描述,不超过...

    Git使用简介.pptx

    * git commit -m "message":提交文件 * git log:查看提交记录 * git status:查看文件状态 * git diff:查看文件差异 * git rm &lt;file&gt;:删除文件 * git mv &lt;file&gt;:移动文件 Git 的分支模型 Git 的分支模型允许...

    git rebase 合并提交记录,学习代码

    2. ** squash (合并) 提交**:在交互式模式下,可以将多个提交合并为一个。只需将除了第一个之外的`pick`命令改为`squash`或`fixup`,然后保存并关闭编辑器。 3. **修正提交消息**:如果你想要修改某个提交的消息,...

    git命令1

    12. 选择特定commit合并到当前分支:`git cherry-pick [commit]` 13. 删除分支:`git branch -d [branch-name]` 14. 删除远程分支:`git push origin --delete [branch]` 以上就是Git的一些基本命令,掌握这些命令...

    Git常用命令.docx

    * `git commit -a`:提交工作区自上次 commit 之后的变化,直接到仓库区 * `git commit -v`:提交时显示所有 diff 信息 * `git commit --amend -m [message]`:使用一次新的 commit,替代上一次提交 * `git commit -...

    git.zip配置

    - 使用`git diff`查看冲突差异,`git add`解决冲突后加入暂存区,最后`git commit`完成合并。 9. Git配置: - 设置用户名和邮箱:`git config user.name "Your Name"`和`git config user.email "you@example....

    git教程:Git使用.one礼包集合

    Git的出现解决了之前版本控制系统的一些问题,并且提供了很多强大的功能,比如分支管理、合并、冲突解决等。它的主要使用场景包括代码版本控制、项目协作开发等。 Git的基本使用流程包括以下几个步骤: 1. 初始化...

    HelloGit:HelloGit

    - **合并(Merge)**:将两个或多个分支的代码合并到一起。 - **克隆(Clone)**:复制远程仓库到本地。 - **拉取(Pull)**:从远程仓库获取最新更改并合并到本地。 - **推送(Push)**:将本地更改推送到远程...

Global site tag (gtag.js) - Google Analytics