git 操作规范

git 操作规范

此文章只为总结git常用操作,如有争论,多多见谅,多多批评,互相学习

一、创建与合并分支

1、 从master分支创建dev分支并切换到dev分支

 git checkout master

 git checkout -b dev

其中,git checkout -b dev 等价于:

 git branch dev

 git checkout dev
(1)查看本地当前的分支,分支前面带“*”表示当前分支,剩下的分支表示本地有的分支
 git branch
(2)查看远程全部的分支,白色的表示本地有的,红色的表示本地没有,仅在远程存在
 git  branch  -a 

2、修改代码、提交代码(当前的操作是在dev分支上进行)

// git add 工作区 --> 暂存区
// 1、指定提交文件
 git add test.html
// 2、提交所有文件
 git add .

// git commit 暂存区 --> 本地仓库
 git commit -m "提交测试文件test.html"

此处在操作中会涉及到两个问题,合并后删除分支/保留分支

3、分支合并(将dev合并到master)

// 1、合并删除分支
 git checkout master 
 git merge dev

// 本地推送到远程主机
 git push origin master

// 删除分支dev
 git branch -d dev
 
// 查看分支(此时看不到dev分支了)
 git branch
// 2、保留分支
// 本地dev分支推送到远程主机
 git push origin dev

 git checkout master 
// 拉取远程仓库中所有的数据(更新主支数据)
 git pull 

// 合并分支方法1(用一种即可):
 git merge dev
// 合并分支方法2(用一种即可):
 git pull origin dev

// 本地推送到远程主机
 git push origin master

4、注意:将本地分支branch1推到远端的branch2操作步骤:

 git push origin branch1:branch2

二、 解决冲突

1、发生冲突的文件

冲突的产生是因为 git 无法自动合并两个不同的修改。当两个开发者在同一文件的同一行进行了不同的修改,并尝试合并时,git 就会发生冲突。解决冲突的关键是合并两个不同的修改

git使用 <<<<<<<, =======, >>>>>>> 标记文件中自己和别人产生冲突的部分。

 <<<<<<< HEAD
 Your code snippet
 =======
 Someone else's code snippet
 >>>>>>> feature1

在<<<<<<<, =======之间为自己的代码;
=======, >>>>>>>之间为别人的代码。

仔细审查冲突的部分,根据实际需求选择保留哪个修改,删除冲突标记,保留需要的修改,并保存文件。

2、冲突解决后提交

 // 暂存区 --> 本地仓库 --> 远程仓库
 git status

 git add <冲突文件>

 git commit -m "fix conflict"

 git push origin <分支名>

三、Bug分支

我们有时会遇到这样的情况,正在dev分支开发新功能,做到一半时有人过来反馈一个bug,让马上解决,但是新功能做到了一半你又不想提交,这时就可以使用git stash命令先把当前进度(工作区和暂存区)保存起来,然后切换到另一个分支去修改bug,修改完提交后,再切回dev分支,使用git stash pop来恢复之前的进度继续开发新功能。

待续…

四、合并分支问题

有的时候我们在进行项目分支合并 git merge 时会出现如下错误:
Please enter a commit message to explain why this merge is necessary.

在这里插入图片描述

报错翻译

merge brach 'dai'
# Please enter a commit message to explain why this merge is necessary,
# 请输入一个提交消息来解释为什么合并是必要的,  

# especially if it merges an updated upstream into a topic branch. 
# 特别是当它合并一个更新的上游到一个主题分支。  

# Lines starting with '#' will be ignored, and an empty message aborts
# 以“#”开头的行将被忽略,空消息将中止  

# the commit.
# 提交。 

解决方案

It’s not a Git error message, It means you should enter some message to mark this merge.

To solve this:

你需要按以下步骤进行操作:

  1. 按下键盘上的字母 i 进入插入模式(或编辑模式)。
  2. 在第一行(也就是光标所在位置)编辑合并的原因和必要的注释说明。可以提供任何有关合并的详细信息,如问题修复、功能改进等。
  3. 如果认为当前的注释已经足够清晰,不需要修改,也可以选择保持不变。
  4. 退出插入模式,按下键盘上的 Esc 键。
  5. 在按下冒号(:)后,输入 wq 来保存更改并退出编辑器。

例,展示了如何编辑合并提交消息:

Merge branch 'dai' into mester

This merge is necessary to incorporate the changes from the 'dai' branch into the 'mester' branch.

可以根据实际情况和需求编辑合并提交消息。

五、版本回退

待续…先提交了,后续跟进

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值