赞
踩
$ 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指向最新下载的版本
这样全部是最新代码
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、功能(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标记
#合并到mastergit 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到mastergit 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环境,怎么解决这个问题?如下图。
![
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。