如果你想从别的 Git 托管服务那里复制一份源代码到新的 Git 托管服务器上的话,可以通过以下步骤来操作。
1). 从原地址克隆一份裸版本库,比如原本托管于 GitHub。
git clone --bare git://github.com/username/project.git
2). 然后到新的 Git 服务器上创建一个新项目,比如 GitCafe。
3). 以镜像推送的方式上传代码到 GitCafe 服务器上。
cd project.git
git push --mirror git@gitcafe.com/username/newproject.git
4). 删除本地代码
cd ..
rm -rf project.git
5). 到新服务器 GitCafe 上找到 Clone 地址,直接 Clone 到本地就可以了。
git clone git@gitcafe.com/username/newproject.git
这种方式可以保留原版本库中的所有内容。
git相关笔记:
本地仓库指的是本地的工程目录整个目录,.git文件夹在这个根目录下。
暂存区对应SourceTree里的添加(add,checkout)
SourceTree提交是提交到本地仓库(commit,reset)
推送是把本地仓库内容推送到远程(push,pull)
注意:只有在做了add操作代码到了暂存区之后才可以在SourceTree里的代码提交列表里看到,才可提交。
现在我们的开发模式是在1.2上面的分支做开发,然后开发完成之后最后合并到develop上面,然后更新线上代码,合并develop分支会有专门的账号,我们目前没有权限做提交了。
因此自己也不要试图在本次做develop上的提交,操作顺序必须都是在1.2分支上做开发完成之后提交,然后会有专门的账号将代码合并到develop分支上面,之后自己本地再更新develop分支代码即可。。
SourceTree上面的界面上提交的各种不同颜色的线条,有的是分别表示不同的分支上的开发,有的是表示不同的人做的提交。
蓝色的箭头是远程分支,灰色的是本地分支!!!
自己假如有一个develop主分支,然后有两个1.2和1.3的版本开发的周期比较长的子分支,然后线上突然出现一个紧急bug然后拉了一个feature-DBYZ57分支,然后在这个分支上面改bug,改完之后需要自己在本地将这个feature-DBYZ57分支合并到1.2和1.3这两个周期比较长的开发分支上面。。。剩下的将feature-DBYZ57合到develop分支上这个事情就不用自己操行了,运维人员会有专门的账号来做这个事情,也就是说把主分支develop下面的某一个子分支合并到主分支develop上这样的操作本地做不了,只有专门的账号才能做,自己本地操作不了develop分支。
注意:只允许往develop上合,而不允许从develop上往下合。比如在1.2版本分支上做着开发,然后来了一个bug,拉了一个分支feature-112,在这个分支上修改完了之后正确操作是将feature-112这个上面的代码直接合到develop上然后上线,然后自己把feature-112上的代码合并到1.2上,然后继续开发,决然不允许从develop上再拉代码合并到1.2上。
合并分支一般的操作不是把本地的分支合并到另外一个分支,实际操作是把远程的合格分支合并到本地的当前分支上面去
在sourcetree上操作,常见到的情况是由于某个大版本在开发中,自己没有参与,此版本分支A提交的人比较多,自己在B分支上开发中,由于想看看所以切换到A分支了,结果一啦代码发现需要merge,怕有风险就么有操作merge,此时再想切回到B分支了,怎么都切换不过去。此时的解决办法点击贮藏或丢弃,如果本地自己正在开发中的分支里面还有未提交远程的代码,则需要使用贮藏,如果本地仓库没有正在开发中的未提交的代码,则可以使用贮藏旁边那个按钮丢弃,这个丢弃是丢弃本地仓库所有项目里自己本地开发还未提交的改动,所以这个要慎用。
分享到:
相关推荐
这个压缩包文件中的"资料"可能包含了一系列关于Git的基础知识、高级用法、命令指南以及最佳实践,旨在帮助用户更好地理解和使用Git。 Git的核心概念主要包括: 1. **仓库(Repository)**:Git仓库是存储所有版本...
资源名称:Git基础知识相关资料汇总资源目录:【】15分钟学会Git【】Git-branching-model【】git工作原理理解【】git简易指南【】ProGit资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
这是我对git使用的一个总结,对想要了解git如何使用,并致力于理清楚git相关知识点的朋友有所帮助
Git的常用命令包括`git init`用于初始化新的Git仓库,`git clone`用于复制远程仓库,`git add`用于将更改添加到暂存区,`git commit`用于提交更改到本地仓库,`git push`用于将本地更改推送到远程仓库,`git pull`...
11. Git config: 配置 Git 相关信息 12. Git log: 查看版本历史 13. Git show: 查看版本号对应的历史 14. Git tag: 标记版本号 15. Git reset: 恢复到之前的版本 16. Git status: 显示当前状态 17. Git mv: 重命名...
1.git的下载和安装 2.创建远程个gitHub仓库 3.git创建本地版本库 4.上传项目到仓库中 5.从gitHub仓库下载项目到本地仓库
Git是一个版本管理控制系统(缩写VCS) * 可以在任何时间点,将文档的状态作为更新记录保存起来 * 也可以在任何时间点,将更新记录恢复回来。
git知识点思维导图,更全面的git知识结构,让你快速全面了解和学习git工具! xmind源文件,可修改编辑
根据提供的文件内容,我们可以提炼出以下有关Git的知识点: 1. Git的基本概念:Git是一个开源的分布式版本控制系统,它最初由林纳斯·托瓦兹(Linus Torvalds)创建,目的是为了更好地管理Linux内核开发过程。Git...
git上传代码知识
本文将深入探讨Git的基本结构、Git与代码托管平台的关系、常用的Git命令行操作、gitFlow工作流以及如何搭建gitLab服务器。 首先,Git的核心结构由三部分组成:工作区(Working Directory)、暂存区(Index / Stage...
通过理解和熟练运用以上Git知识和命令,你可以更好地管理代码版本,提高开发效率,并参与到团队协作中。继续深入学习,如分支策略、钩子(Hooks)、标签(Tags)等,将使你在Git的使用上更加得心应手。记得实践是...
面试中,Git的相关问题可能包括但不限于:Git的工作流、分支策略(如Git Flow或GitHub Flow)、如何解决合并冲突、Git的撤销操作(如`git reset`和`git revert`的区别),以及如何处理不小心提交的敏感信息等。...
### Git相关详细文档知识点概述 #### 一、Git简介与特点 - **Git**是一种分布式版本控制系统,由Linus Torvalds在2005年为了更好地管理Linux内核源码而开发。它通过追踪每次提交(commit)来记录文件的变化历史,并...
### Git基础知识及常用场景 #### 一、Git简介 **Git**是一种先进的分布式版本控制系统,由Linus Torvalds在2005年为了更好地管理Linux内核开发而创建。Git的设计初衷是为了满足大规模项目的版本控制需求,因此它在...
git使用知识树之自用
git使用知识树2之自用
Git是世界上最流行的分布式版本控制系统,广泛应用于软件开发和协作工作中。Git-2.34.0-64-bit.rar是一个包含Git的64位安装包,适用于...在实际工作中,不断实践和熟悉这些知识点,将使你在Git的使用上更加得心应手。
使用场景及目标:旨在帮助读者全面掌握Git的基础知识和高级技能,提升解决实际问题的能力,为面试做好充分准备。通过理解和练习这些问题,读者可以在面试中自信地展示自己的Git技能。 阅读建议:建议读者逐条理解和...