Git 教程(三):仓库与分支】的更多相关文章

合并分支是团队合作开发中常见的操作,这里涉及到两个命令:git merge 和 git rebase 下面来好好说一下git merge和git rebase都是怎样工作的 一. 1.新建一个空目录并初始化为一个git项目 git init # 初始化git项目 在master分支上添加一个文件(readme.txt),并在其中添加内容 git add .  //提交刚添加的内容 git commit -m "c1" 2.创建并切换到dev分支 git checkout -b dev…
预备知识: SSH协议参考资料:http://blog.csdn.net/vevenlcf/article/details/43273405 图解公钥和私钥:http://blog.csdn.net/linuxnews/article/details/51119862 百度百科:https://baike.baidu.com/item/ssh/10407?fr=aladdin 基于密钥的安全验证,就是提供一对密钥,把公钥放在需要访问的服务器上,如果连接到SSH服务器上,客户端就会向服务器发出请求…
1. 在本地一个空的文件夹中 git init  (生成本地仓库) 2. 在刚刚的文件夹中随便建立一个文件 ,git add . (为了生成分支)(提交到暂存区) 3. git commit -m'1' 将刚刚暂存区内容推送到本地仓库中 4. git branch ‘分支名’ 建立本地分支,分支名字最好和你要clone的远程仓库指定分支的分支名相同 5. git remote add origin ‘远程仓库地址’ (与远程仓库进行关联) 6. git clone -b '远程仓库分支名' '远…
查看分支 git branch -a 查看远程分支 git branch 查看本地分支 创建分支 git checkout -b branch-name 在远程创建一个属于自己的分支 删除分支 删除本地分支:git branch -d branch-name 删除远程分支:git push origin :branch-name(冒号前面有空格后面没有空格) 与远程分析相关联 git checkout -b branch-name origin/branch-name 在本地创建一个跟远程对应的…
关于本地版本库的操作,请见:Git入门--本地版本库操作 本篇提到的所有命令: 小结 前面提到,Git相对于传统的SVN有着很大的优势,其中之一就在于集中式系统中,版本库只能存在于中央服务器上:而在Git中,版本库可以克隆多个,甚至在同一台主机中也可以克隆多个版本库.当然,日常开发过程中,还是会有一台主机充当中央服务器的角色,作为整个项目的整体基准.我们可以自己搭建一个git服务器,也可以直接使用github所提供的免费仓库托管服务. 在本文中我们使用GitHub.在使用之前,需要注册GitHu…
不指定分支 git clone + clone 地址 # 例如 git clone https://amc-msra.visualstudio.com/xxx/_xx/xxxxxx 指定分支 git clone -b + 要clone的分支名 + 仓库地址 # 例如 git clone -b stock-data-spider-dev https://amc-msra.visualstudio.com/xxxx 注: 不要只停留在 从 GitHub 上clone,道理基本是相通的,在其他代码仓库…
背景:项目新建了个git仓库(B仓库),放改版的新项目,现在运维所有项目构建都是在一个Jenkins里构建,然后拉镜像到相应服务器里,为了不让运维每次构建不同项目需要改git仓库地址,需要把原来项目仓库(A仓库)中的项目分支都移到B仓库中,作为新项目的分支,就延伸出了这个需求 1.在B仓库中重新设置远程origin地址为A仓库地址 git remote set-url origin <old url> 2.拉取A仓库中的某个分支 git fetch origin <分支名称> 3.…
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息. 如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息. 下面我们实战一下--no-ff方式的git merge: 首先,仍然创建并切换dev分支:…
分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN! 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了.如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险. 现在有了分支,就不用怕了.你…
到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题了. 可是有用过集中式版本控制系统SVN的童鞋会站出来说,这些功能在SVN里早就有了,没看出Git有什么特别的地方. 没错,如果只是在一个仓库里管理文件历史,Git和SVN真没啥区别.为了保证你现在所学的Git物超所值,将来绝对不会后悔,同时为了打击已经不幸学了SVN的童鞋,本章开始介绍Git的杀手级功能之一(注意是之一,也就是后面还有之二,之三……):远程仓库. Git是分布式版本控制系统,…