git工作中使用总结续

作者: GuangchaoSun | 来源:发表于2017-01-17 19:51 被阅读114次

git checkout

  • git checkout -- <file_name> #这条命令把filename从HEAD中签出
  • git checkout . #这条命令把 当前目录所有修改的文件 从HEAD中签出并且把它恢复成未修改时的样子.
  • 注意:在使用git checkout时,如果其对应的文件被修改过,那么该修改会被覆盖掉。

命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。总之,就是让这个文件回到最近一次git commitgit add时的状态。

复原

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

链接到github(三步走):

git remote add origin git@github.com:sunguangchao/hellow-world.git
git pull origin master
git push -u origin master

git pull --rebase

  • git pull = git fetch + git merge
  • git pull --rebase = git fetch + git rebase

git bash出现vim的时候怎么退出?

  • 命令模式下,先输入i进入编辑模式
  • 想退出的话,首先Esc退出输入状态,然后Shift+;,再输入qwq(q不保存改动,wq是保存文件的写入修改)
  • vim使用教程

git stash

  • 使用git stash保存当前的工作现场,那么就可以切换到其他分支进行工作,或者在当前分支上完成其他紧急的工作,比如修订一个bug测试提交。
  • 如果一个使用了一个git stash,切换到一个分支,且在该分支上的工作未完成也需要保存它的工作现场。再使用git stash。那么stash 队列中就有了两个工作现场。
  • 可以使用git stash list。查看stash队列。
  • 如果在一个分支上想要恢复某一个工作现场怎么办:先用git stash list查看stash队列。确定要恢复哪个工作现场到当前分支。然后用git stash pop stash@{num}。num 就是你要恢复的工作现场的编号。
  • 如果想要清空stash队列则使用git stash clear
  • 同时注意使用git stash pop命令是恢复stash队列中的stash@{0}即最上层的那个工
  • git stash apply [--index] [<stash>] 不删除已恢复的进度,其他同git stash pop

从工作区添加到暂存区

git add .git reset HEAD <file_name>配合使用
git reset HEAD <file_name>可以将某文件从已经git add的列表中剔除出去

git cherry-pick commit_SHA

简而言之,cherry-pick就是从不同的分支中捡出一个单独的commit,并把它和你当前的分支合并。如果你以并行方式在处理两个或以上分支,你可能会发现一个在全部分支中都有的bug。如果你在一个分支中解决了它,你可以使用cherry-pick命令把它commit到其它分支上去,而不会弄乱其他的文件或commit

branch切换有关的命令

git branch -D #删除一个分支 
git branch -r # List remote branches
git branch -a # List local branches and remote branches
git branch -va #查看所有的远程分支  
git checkout -b <name> <remote_name> #创建并转到远程分支并改名字为name 
git push origin <name> #可以把本地创建的分支push到远端

Remove file from both repo and wroking directory : git rm <file>

tag相关的命令

git tag <name> #创建版本
git tag -r #查看远程版本
git tag -a <name> -m 'comment' #新建一个name tag,并添加comment
git push origin <tag_name> #把标签传送到远程服务器

merge流程

要想从一个branch merge回main_line可以通过merge commit IDtag或者branch三者中的一个来进行。

  • 为了确保安全,要基于最新的main_line新建一个temporary branch当做跳板。
  • 在temporary branch上进行merge并resolve conflict,完成后一定要push到远程。
  • 然后在main-line上merge romote temporary branch

注意:在main-line上merge romote temporary branch的时候,不能有别人的提交,不然会失败,这是使用tempary branch的意义之一:可以减少这个过程的时间。

resolve the conflict

vim <file> #edit the conflict file
git add <file>
git commit -s 

相关文章

  • git工作中使用总结续

    git checkout git checkout -- #这条命令把filename从H...

  • git常用命令

    最近工作中一直使用git总结一写常用的命令加深记忆。 git 基本操作 git add 暂存区 git commi...

  • git工作中使用总结

    因为在工作中要经常与git打交道,想想入职时间有四个五月了,实际工作时间两三个月左右。正好趁着这个假期做一下总结。...

  • git 实践(一) pull的使用

    git 实践(一) pull的使用git 实践(二) push的使用git 实践(三) 建立关联分支 前言 工作中...

  • 关于git介绍

    我们在工作中经常会涉及到GIT命令的使用,本文主要内容是对工作中经常使用Git的命令进行介绍。   说到git命令...

  • git的使用总结

    git的使用总结

  • GIT命令,这几个就够了!

    工作中使用Git很久了,总结下性价比比较高的几个命令,不是命令手册,也不卖弄技术,只为熟练的使用。 初级命令 gi...

  • git使用总结

    git使用总结 git --version //查看所安装的git的版本 git config --global ...

  • GitHub创建远程仓库及连接

    总结:使用的git命令 git init git remote add origin (远程仓库地址) git r...

  • 使用 git alias 提高 git 的使用效率

    使用 git alias 提高 git 的使用效率 前言 git 作为一个版本控制工具,是我们程序员平时工作中不可...

网友评论

    本文标题:git工作中使用总结续

    本文链接:https://www.haomeiwen.com/subject/coxvbttx.html