Git命令学习总结及工作使用

Git学习:
git branch XX 新建分支。
git checkout XX 切换分支。
git checkout -b XX新建分支,并切换到新建分支上。

git reset  //重置分支指针
1、--hard  修改不存在,也没有add的文件,指针指向重置节点,要修改之后,add,commit。
2、--mix   修改还存在,但没有add过的文件,指针指向重置节点,提交要重新add之后,再commit
3、--soft  HEAD指针指向的节点之后,修改的文件和add的文件一样,还存在。提交只需commit即可

git branch 
git branch -D 分支名   //删除分支。
git branch -m oldname newname //修改分支名。
git branch -vv  //查看本地分支对应的远程分支。

若本地创建多个分支,想把本地上的b分支合并到a分支上
git checkout a  //切换到a分支上
git merge b     //把b分支合并到a分支上

与远端分支合并
git fetch origin //抓取远端分支到本地
git merge origin/master   //把远端分支合并到本地。
git reset --merge  //撤销合并。

git diff 查看工作区与暂存区的差别

git diff --cached /--staged  比较暂存区文件与上一次commit的差别

工作上用到的拉取与提交过程

工作流:(比较简单的,本机分支只有一个的)
1.repo sync或者git remote update //更新远端主机
2.git branch -av //查看所有分支最后一个提交对象的信息
4.git reset --hard HEAD //回滚到最后一次远端主机同步后的版本,清理本机
5.git clean -df   //清理没有跟踪的文件及文件夹,和上一条命令一起执行,基本是本机回的上一次commit的状态。
6.git pull origin master:master//把远端主机最新的代码同步到本地分支,拉取+合并
7.修改。
8.git add
9.git commit -m
10.提交前先确认一下,是否有人先push了。
  git remote update
  git branch -av  查看远端分支是否有人先push了,
  若有,执行git reset --soft HEAD^  //最新一次提交消失,但修改并没改变。
   git pull origin master:master 
   git commit -m   //重新提交
  然后在push,若没有直接push 
11.git push origin master//提交代码到远端主机

*no branch问题:
      代码更新脚本,只明确用哪个远端仓库,并未指明用哪个分支,执行后就会
      出现当前处于no branch分支。处在no branch分支是不受git管理的,所以要
      切换到工作分支,再处理。切换分支执行 git checkout  -b   newname
git push 时报错error:rejected –non-fast-forward
      解决方法:此提示为当前提交无法快进版本,意味着别人已经先你一步,
      做了其他提交到远端,远端需要你在最新的基础上提交。
      1、合并 git remote update  
      git pull到最新代码,
      git push。
     2、重新提交
     git remote update
     git reset --soft HEAD^
     git pull
     git commit
     git push

猜你喜欢

转载自blog.csdn.net/liujing_sy/article/details/100542498