Git(2)—特性

部分参见于 廖雪峰官方网站

  • 分支管理
git checkout -b dev     //建立新的分支dev
HEAD指针移至dev分支,之后就是在dev进行操作
git commit -m "D"      //进行一次新的提交
git checkout master   //将HEAD指针移至master分支
git merge dev        //将master分支向dev分支合并
git branch -d dev      //删除dev分支

git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:

$ git branch dev  //创建分支
$ git checkout dev  //移动指针
Switched to branch 'dev'
$ git branch  //可以查看当前项目所含的所有分支
* dev
  master

  * HEAD指针当前指向的分支

当合并之后产生冲突时,需要先解决冲突,修改文件之后再次提交,再次合并即可。

 

Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息

强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息

$ git merge --no-ff -m "merge with no-ff" dev
  • Bug分支
git stash 可以把当前工作现场“储藏”起来,等恢复现场后继续工作
//创建另一个分支修复代码,合并到master分支后,切换回之前工作的分支
$ git stash list  //查看stash内容
stash@{0}: WIP on dev: feb58f7 be_merged_finally
  1. git stash pop  //恢复的同时把stash内容也删了
  2. git stash apply stash@{0}  //恢复后,stash内容并不删除,你需要用git stash drop来删除;
  •  多人协作

当自己提交时比他人晚了一步,则需要先从远程拉取最新的,之后进行合并再上传

如果没有指定自己本地dev分支与远程origin/dev分支的链接 则会报错,需要设置,然后再拉取

错误提示提示  no tracking information
git branch --set-upstream-to=origin/dev dev

 工作流程

  1. 首先,可以试图用git push origin <branch-name>推送自己的修改;

  2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

  3. 如果合并有冲突,则解决冲突,并在本地提交;

  4. 没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

 

posted on   石墨方  阅读(161)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示