git 常用命令

git 官网

https://git-scm.com/docs/giteveryday

关联远程分支

git push origin 分支名称

git branch --set-upstream-to=origin/remote_branch your_branch

  origin/remote_branch: 需要关联的远程分支

  your_branch : 本地分支

git 比较分支之间的区别

  查看分支1有 分支2没有

  git log 分支1  ^分支2

  查看分支1比分支2中多提交了那些

  git log 分支2 ..分支1

  

 

   在不知道那个分支提交的多 ,只想直到有什么不一样

    git log 分支1...分支2

      

 

 

    然后再查看每个提交是在那个分支上

    git log --left-right 分支1...分支2

      

 

 注意 commit 后面的箭头,根据我们在 –left-right dev…master 的顺序,左箭头 < 表示是 dev 的,右箭头 > 表示是 master的。
截图中表示这三个提交都是在 master 分支上的

 

查看所有的日志

  git log

查看某个日志修改的内容

  git show commitID    commit:日志id

查看本地修改的内容

  git diff

如果提交了不应该提交的问题 (比如是应该过滤的文件) 可以删除远程的文件

  git rm  --cached '文件或者目录'

  git commit -m ''

  git push

 

储藏在git堆栈中,

在开发项目中不免会出现 在自己工作(写接口...)中 有紧急bug的出现 这个时候就用到 git stash 命令储藏在git堆栈中,,可以将本地修改和暂缓区的内容放在堆栈中,然后git status 就会是一个干净的目录

  没有注释的写法 不建议使用

  git stash  

  有注释的写法

  git stash save '注释'

 

  查看git堆栈所有的隐藏

  git stash list

  恢复最近的一次隐藏

  git stash pop

  恢复指定的一次隐藏 {} 里面的数字可以在 git stash list 命令后查看

  git stash php stash@{0}

 

 有人与我改动同一分支

我在本地修改好后,发现远程分支已经被改动了,此时我本地也被改动了就造成了冲突,无法 push 或者 pull

此时,就可以用 git stash 来处理

// 把本地的改动暂存起来
git stash 
// 拉取远程分支(此时本地分支会回滚到上次commit的情况,你的改动都存在stash中)
git pull  
// 将stash中改动重新加回本地分支,就可以继续修改了,当然,如果改好了就是add,commit,push
git stash pop 


不小心改动了其他分支

例如忘记切换,将代码写错了分支,直接在 master 分支上做改动,这里假设我的分支是 feature/category_vechice 分支。

// 把本地当前改动暂存起来,此时master分支就恢复到了上次拉取时的状态
git stash
// 切换到需要改动的分支
git checkout test
// 将改动pop到自己当前的分支
git stash pop

  

 

在修改很多文件,但是只想提交某个文件的方法

  git add 文件名(想提交的文件)

  git stash -u -t    (过滤掉没有add提交的文件,吧没有add的文件放在git堆栈中)

  git commit -m '注释'

  git pull 

  git push

  git stash pop   (恢复之前没有提交的文件)

 

把已经提交到暂缓区的文件拉回工作区

  git restore --staged 文件名

  

 

 合并分支 使用 git rebase 是工作目录更干净 更利于后期的维护和版本回退

    git rebase 分支名

合并分支

  git merge 分支名

 

 

       

posted @ 2022-04-16 23:40  liu_jason  阅读(44)  评论(0编辑  收藏  举报