git 常用命令
git 官网
https://git-scm.com/docs/giteveryday
关联远程分支
git push origin 分支名称
git branch --set-upstream-to=origin/remote_branch your_branch
origin/remote_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 分支名