当前位置:   article > 正文

git pull 拉取不成功,直接覆盖本地,git 提交流程,以及master,release,develop分支应用场景_git pull master hard

git pull master hard

$ git reflog 修改的操作
在这里插入图片描述

git reset --hard c2be106 #回退到这个版本 git pull 拉最新仓库代码,拉取成功但是 本地一致没有变
Already up-to-date. ,不知道怎么办,第一次操作 pycharm ,先stash ,然后再pull
,最后unstash 是成功的(但是 合并的代码合并错了),后来就怎么也不行了

git pull时出现冲突 如果放弃本地修改,先复制本地代码, 然后使远程库内容强制覆盖本地代码 git fetch --all
//只是下载代码到本地,不进行合并操作 git reset --hard origin/master //把HEAD指向最新下载的版本
这样全部是最新代码

2、提交本地代码

1、gitlab 建立仓库
2、本地下载仓库
3、建立代码,新建代码,通过后准备提交
4、

# 只是提交
git add .
git commit -m "增加功能"
git push

# 增加 tag 版本号提交
git add .
git commit -m "增加功能"
git tag v1.0  或者  git tag -a v1.0 -m "Initial release"
git push origin v1.0 

注意:  origin 是默认的名字,git remote 查看名字是什么,git remote -v 查看url 地址
git tag  列出版本号,
git show v1.0  列出完整的提交信息版本号
git ls-remote  


# 建立分支提交
git checkout -b feature-branch
git add .
git commit -m "Add new feature"
git push origin feature-branch

git checkout master
git tag v2.0
git merge feature-branch
git push origin v2.0   或者不行git push origin master


要将一个特性分支(feature-branch)合并到主分支(master),你可以按照以下步骤进行操作:

确保你当前位于特性分支上。可以通过运行git branch命令来查看当前所在分支,并确保特性分支已检出。

运行git add .命令来将所有修改的文件添加到暂存区。

运行git commit -m "Commit message"命令来提交更改,并为提交添加一个有意义的消息。

运行git checkout master命令来切换到主分支。

运行git pull origin master命令来获取远程主分支的最新更新。

运行git merge feature-branch命令来将特性分支合并到主分支。

运行git push origin master命令来将合并后的主分支推送到远程仓库。

这样,你就成功将特性分支的更改合并到了主分支上。请确保在合并前先获取并合并最新的主分支更新,以避免冲突。


  • 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
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48

3、gitlab 不同分支

该分支应该只是进行一些优化和升级开发,如果有新的需求应该拉出一个feature分支。

三种临时分支

1、功能(feature)分支:这个分支主要是用来开发一个新的功能,一旦开发完成,我们合并回Develop分支进入下一个Release。
2、预发布(release)分支:当你需要一个发布一个新Release的时候,我们基于Develop分支创建一个Release分支,完成Release后,我们合并到Master和Develop分支。
3、修补bug(hotfix)分支:当我们在Production发现新的Bug时候,我们需要创建一个Hotfix, 完成Hotfix后,我们合并回Master和Develop分支,所以Hotfix的改动会进入下一个Release。

这三种分支都属于临时性需要,使用完以后,应该删除,使得代码库的常设分支始终只有master和develop

Git Flow流程示例代码 1,创建develop分支
#从master拉出develop分支

#可选,获取最新版本。git pull origin master

git checkout -b develop master

#发布develop分支

git push -u origin develop

2,创建feature分支
#从develop拉出feature_v1.0功能分支

#可选,获取最新版本。git pull origin develop

git checkout -b feature_v1.0 develop

#发布feature_v1.0分支

git push -u origin feature_v1.0

#在feature_v1.0上开发一些功能

3,完成feature,合并到develop分支
#develop分支获取最新

git pull origin develop

#切换到develop分支

git checkout develop

#从feature分支合并到develop分支

git merge --no-ff feature_v1.0

#删除feature分支,也可以不删除

git branch -d feature_v1.0

4,开始release
#从develop拉出一个release分支

#可选,获取最新版本。

git pull origin develop

git checkout -b release_v1.0 develop

#fix bugs

5,完成release,合并到master分支和develop分支,在master打上tag标记
#合并到master

git checkout master

git merge --no-ff release_v1.0

#在master打tag标记

git tag release1.0 master

git push --tags

#合并到develop

git checkout develop

git merge --no-ff release_v1.0

6,开始hotfix
#从主线master拉出一个hotfix分支

#可选,获取最新版本。

git pull origin master

git checkout -b hotfix_v1.0.1 master

7,完成hotfix,合并到master和develop,并在master上打tag。
#合并hotfix_v1.0.1到master

git checkout master

git merge --no-ff hotfix_v1.0.1

#在master打上tag

git tag hotfix1.0.1 master

git push --tags

#合并hotfix_v1.0.1到develop

git checkout develop

git merge --no-ff hotfix_v1.0.1

Git Flow工具 1,SourceTree

2,GitFlow for Visual Studio

分支命名规范 feature分支:以"feature_"开头,如feature_v1.1

release分支:以"release_"开头,如release_v1.1

hotfix分支:以"hotfix_"开头,如hotfix_20160112

tag标记:如果是release分支合并,则以"release_"开头。如果是hotfix分支合并,则以"hotfix_"开头。

master分支每次提交都要打tag,release tag:如release_v1.1,hotfix
tag:如hotfix_20160112

命名都统一采用小写。

总结 1,一定要按git
flow的流程去管理分支,如feature分支开发完要合并到develop,如果要发布版本到test环境,则从develop拉出一个release分支,release完成后要合并回master和develop分支,修复生产环境问题需要从master拉出一个hotfix分支,hotfix完成后要合并回master和develop分支,并且在master打上tag。

2,一定要按分支命名规范来命名,便于管理和维护。

3,了解了git flow工作流程后,可以不使用git flow
GUI工具,手动操作即可,可以是原生git命令+vs配合操作,比如给master打tag就要用git命令,这在vs里操作不了的,比如合并分支,虽然也可以使用git命令实现,但在vs里操作更方便直观。

4,一定要保持分支的纯净,不要随便污染分支。比如,develop分支只包含要发布到下一个release的代码,在没有拉出release分支前不要合并新的feature分支进来。release分支基于develop分支创建,拉出release分支后,我们可以在这个release分支上测试和修复bug,但是,一旦打了release分支后不要从develop分支合并新的改动过来。develop拉出release分支的同时,也意味着develop分支可以开始下一个release的准备工作了。

5,如果多个版本并行到test环境,怎么解决这个问题?如下图。
![
](https://img-blog.csdnimg.cn/2b76a09a81c345e59ca3ab5ba214376f.png)

Git分支模型(master/hotfix/develop/feature/release)

git tag详解

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/621430
推荐阅读
相关标签
  

闽ICP备14008679号