You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}
git stash save -u "messeag":包含未被跟踪的文件
git stash drop stash@{$num} :丢弃stash@{$num}存储,从列表中删除这个存储
git stash clear :删除所有缓存的stash
git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}
git stash show -p : 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show stash@{$num} -p ,比如第二个:git stash show stash@{1} -p
HEAD、master 与 branch
[Git从入门到熟练使用](https://www.jianshu.com/p/e1a981eec3d3)
Git教程
PR:https://blog.csdn.net/qq_33429968/article/details/62219783
进master流程
在fb之外的分支:git fetch origin fb:fb
git checkout fb
git rebase -i xxx
git push my fb:fb -f
git fetch origin master:master (此时source branch 对应的target branch应该是0个Commits)
git checkout master
git cherry-pick commitid(rebase后仅剩的一个commitid)
git add .; git cherry-pick --continue (conflict时)
git push my master
git checkout -b 本地分支名x origin/远程分支名x
使用该方式会在本地新建分支x,并自动切换到该本地分支x。
采用此种方法建立的本地分支会和远程分支建立映射关系。
如果不想建立映射关系,可以:
git fetch origin 远程分支名x:本地分支名x
使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要手动checkout。
【新建文件必须git add .】
Git提交格式
合并到origin master时,有冲突
在 Git 中整合来自不同分支的修改主要有两种方法:merge 以及 rebase。(即解决冲突)
同时提交3.7.0分支
先建个masterd bug的分支,解决好提交后...
[git fetch origin 3.7.0:本地分支名x] git checkout ... // 可以省略上面3步
bug二次修改(merge之后)
(1.)如果有冲突, 解决冲突
git add .
不需要commit
git rebase --continue
git push 到远端
合并多次commit为一次: https://blog.csdn.net/u013276277/article/details/82470177
git rebase:处理我们的commit信息(合并某几次、修改某一次):https://blog.csdn.net/tangkegagalikaiwu/article/details/8542827/
~重新pr
git rebase(变基)
git rebase:git rebase 可以帮助项目中的commit提交历史干净整洁!!!
git rebase -i HEAD~4 // 修改第2-4行的第一个单词pick为squash
git reset(重置)
git reset:重置stage区和工作目录。https://www.jianshu.com/p/c2ec5f06cf1a
git reset --hard commitid // 回退到指定版本
git reset --hard HEAD~2 // 回退2个版本 (HEAD:当前 commit 的引用)
git reset --hard origin/master // 放弃所有修改(commit),完全同步远程仓库
解决冲突:
git add .
git rebase --continue
强制拉取不合并
git fetch –all //只是下载代码到本地,不进行合并操作 - $ git fetch <远程主机名> <分支名> //注意之间有空格
git reset –hard origin/master //把HEAD指向最新下载的版本
// 类似上面
git fetch origin master //从远程主机的master分支拉取最新内容
git merge FETCH_HEAD //将拉取下来的最新内容合并到当前所在的分支中
git push/pull 冲突原因
https://juejin.im/post/5d3685146fb9a07ed064f11b
很明显此时远程分支有新的 commit 未同步到本地,无法推送
git stash(储藏):没开发完,又不想增加commit log时 https://www.cnblogs.com/zndxall/archive/2018/09/04/9586088.html
基本命令
$ git pull <远程主机名> <远程分支名>:<本地分支名>
如果远程分支是与当前分支合并,则冒号后面的部分可以省略git pull origin master
git push <远程主机名> <本地分支名>:<远程分支名>
https://www.cnblogs.com/qianqiannian/p/6008140.htmlgit push my master-bug-ZSTAC-01(新建分支推送常用): 如果远程分支被省略,如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名)。如果该远程分支不存在,则会被新建。
git push origin: 如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略,将当前分支推送到origin主机的对应分支
查看提交记录:
git log [--pretty=oneline]
git log --oneline -3
git log -p // 查看具体文件提交历史
git reflog 可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
git cherry-pick(挑拣)
git cherry-pick commitid
git中一些选项解释:
-d:--delete:删除
-D:--delete --force的快捷键
-f:--force:强制
-m:--move:移动或重命名
-M:--move --force的快捷键
-r:--remote:远程
-a:--all:所有
-u: --update: 只会标记本地有改动(包括删除和修改)的已经追踪的文件
git删除本地分支和远程分支
拉取远程分支并创建本地分支
git checkout -b 本地分支名x origin/远程分支名x
使用该方式会在本地新建分支x,并自动切换到该本地分支x。
采用此种方法建立的本地分支会和远程分支建立映射关系。
git fetch origin 远程分支名x:本地分支名x
使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要手动checkout。
采用此种方法建立的本地分支不会和远程分支建立映射关系。
本地分支和远程分支建立映射关系
作用:这样使用git pull或者git push时就不必每次都要指定从远程的哪个分支拉取合并和推送到远程的哪个分支了
建立联系:
git branch -u origin/分支名
或git branch --set-upstream-to origin/分支名
撤销本地分支与远程分支的映射关系:
git branch --unset-upstream
Git在合并分支的时候,一般会使用Fast forward模式。但是此模式,删除分支后,会丢掉分支信息。
https://blog.csdn.net/FightFightFight/article/details/81039050
git push my master-bug-ZSTAC-23254
git checkout master
git pull origin master
当你在 master 分支上开了一个新分支并且已经解决完问题后,可以将 master 和 hotfix 进行合并,使用 $ git checkout master, $ git merge hotfix 进行合并。
$ git checkout master $ git merge workBranch 。合并完成后,可以将工作分支删除。$ git branch -d workBranch,需要注意的是,当我们删除的分支还包含未提交的内容,分支删除会失效。强制删除可以使用 -D
The text was updated successfully, but these errors were encountered: