关于Git推荐
http://josh-persistence.iteye.com/blog/2215214
http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html
https://blog.csdn.net/weixin_33127753/article/details/88870257
Git log -2
可以查看到最近相关的两个commit
Git reset —hard xxxxxxxxxxxxx
可以回滚
Git log -2
可以确认查看一下是否回滚OK
q退出
Git checkout -b xxbranch
在当前分支的基础上创建xxbranch分支
Git checkout xxbranch
切换到xxbranch 分支
Git branch -v
查看分支详细状况
Git branch
查看分支状况
一、需求场景如下:
如果我的代码reset了,但是我没有提交,此时需要返回,是不是直接重新reset才可以。
同事代码回滚了,我这边分支显示的超前了,这时候该如何处理
Tag 的集成,目前我们的发版是通过集成形式进行的。
合并代码
与同事同事修改了某一个文件,这时候我们改如何合并代码
合并代码途中,我们遇到了冲突,如何解决冲突
远程回滚《学习》
git blame 了解
A->B A代码已经提交,此时B本地有(如何保护B)。如果 此地本地没有
git merge 与 git rebase 比较
二、需求技术详情
紧急情况,我们代码出现问题,这时我们是需要回滚的
首先需要确定我们需要回滚到哪个节点 || git log -3
实行回滚到指定的版本 || git reset --hard xxxxxxxxx (会略本地的代码)
强制提交 || git push -f origin master
2. 同事代码回滚了,我这边分支显示的超前了,这时候该如何处理
直接 git reset xxxx(6fb04a8) --hard 进行重新设置就好了 ,这个xxx是远端分支想要的head位置
3. Tag 的集成,目前我们的发版是通过集成形式进行的
4. 合并代码 (将A分支合并到B分支)
先在当前分支B
git merge A
整体效果是 A代码 合并 到了B上面
5. 与同事同事修改了某一个文件,这时候我们改如何合并代码
先git diff 查看一下 改动区别
保存现场并添加备注 || git stash save " 改动xxx部分"
这时候,我们是可以进行远程代码的拉取,git pull 即可
查看已存stash列表 || git stash list
恢复指定stash并同时在stash列表中保存 || git stash apply stash@{0} (其中0是stash_id,是通过git stash list命令得到的 )
6. 合并代码途中,我们遇到了冲突,如何解决冲突
找到冲突文件
查看冲突的内容
筛选需要留下的代码
重新添加提交即可
保存现场时候,先git diff 查看一下 改动区别
git merge与 git rebase学习
7. git rebase 的使用
https://blog.csdn.net/TTKatrina/article/details/79288238
三、常用代码
查看状态 || git status
创建本地分支 || git branch xxx
基于tag 创建分支 || git branch newbranch v1.0 (基于tag v1.0 创建新的分支)
创建远程分支(本地分支push到远程) || git push origin xxxx分支名
查看本地分支 || git branch
查看远端分支 || git branch -r
从已经存在的分支创建新的分支 || git checkout -b dev (在目前master基础上创建新的dev分支,并切换到dev分支)
切换分支 || git checkout xxx
切换远程分支到本地 || git checkout -t origin/xxx
查看改动 || git diff
把修改的内容加入到本地暂存区域 || git add .
提交代码备注到本地仓库 || git commit -m "备注更改内容"
提交本地仓库到远端分支 || git push
保存现场 || git stash
保存现场并添加备注 || git stash save " 改动xxx部分"
查看已存stash列表 || git stash list
恢复stash内容同时在stash list 中删除 || git stash pop
恢复指定stash并同时在stash列表中保存 || git stash apply stash@{0} (其中0是stash_id,是通过git stash list命令得到的 )
合并A代码到B || git merge A (前提处于B分支,然后merge A进入B)
删除远程分支 || git push origin --delete xxxx (<如果执行后出现 "Everything up-to-date" 那么就在执行一次>)
删除本地分支 || git branch -d xxxxx (如果在正在使用当前分支,那么不能删除,需要转换到其它分支然后再继续进行删除.提示我使用 git branch -D xxxx 进行删除。了解一下 -d 与 -D 的区别)
下拉 || git pull
拉取远端变更 || git fetch
根据搜索提交文案查看相关信息 git log --grep "xxxx”
下载远端库 || git clone git@git.xiaojukeji.com:global/DiDiTravelSDK.git
查询当前都执行了哪些Git || Git
远端已经删除本地分支还存在(运行报错:error: some local refs could not be updated; try running 'git remote prune origin' to remove any old, conflicting branches ) || 我们需要使用 git remote prune origin 来达到 删除本地已经在远端删除的分支
误删除 恢复文件|| 1、首先git reset HEAD xxxx 2、其次git reset —h 大功告成
创建本地库,并推送到远端|| 1、git checkout -b textDev_x 2、(只需要进行git push 就会进行提示)git push --set-upstream origin textDev_x
git merge 成功后,文案界面怎么处理呢??? 输入:wq 如果数不进去试试esc再提交
Cherry-pick 学习使用
举例误删
四、参照资料
http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html
http://josh-persistence.iteye.com/blog/2215214
https://www.cnblogs.com/ydxblog/p/7988317.html
git 处理合并时候error: You have not concluded your merge (MERGE_HEAD exists)
参考链接
https://blog.csdn.net/hxh5801050/article/details/77450463
当提示有冲突,但是又看不见本地代码时候,可以使用git commit 查看本地修改代码然后确保是忽略本地合并远端,还是重新合并
解决办法一:保留本地的更改,中止合并->重新合并->重新拉取
$:git merge --abort
$:git reset --merge
$:git pull
解决办法二:舍弃本地代码,远端版本覆盖本地版本(慎重)
$:git fetch --all
$:git reset --hard origin/master
$:git fetch
韩处理Business
肖处理 component
7月23日
了解 git 中revert
学习了解11.13日
pod install --repo-update
网友评论