上面一大堆的本地仓库的操作,其实要社会化协作,关键还是提交到远程服务器上
理解了分布式版本库的概念,这个不太难,一步步看,
这里我讲述的顺序,按照自己下载单位码云上的项目为例,
一、获取远程仓库
01、获取远程仓库的URL
假设查到为,git@github.com:github-xxx/git-xxx.git,
地址由云服务器厂商定制,一般用浏览器打开仓库,并拷贝项目的git地址(下载压缩包的地址类似),这个地方的地址是github指定的地址,
比如码云的地址格式为:https://git.oschina.net/libiao0601/abc.git
其实github采用的ssh格式,
注意,本人操作的采用ssh格式,毕竟本身的公钥是ssh
02、准备本地环境
- 前面讲过的【配置全局邮箱和用户名】
- 前面的【ssh生成公钥】
在oschina.net配置公钥并验证,ssh -T git@git.oschina.net
当终端提示welcome to Git@OSC ... 表示链接成功 - 为码云代码库简历本地根目录,mkdir git_oschina,建议每个代码供应商单独一个文件夹,然后初始化仓库(git init) ,最后记得进入该目录下(cd git_oschina),切记务必进入该目录下,否则出现找不到仓库的怪问题
03、克隆下载远程仓库到本地
git clone git@git.oschina.net:项目名称07/xxxxyyyyun.git
现在可以喝茶了,耐心等待下载完成后。
04、检查本地仓库
- 查询下载的文件夹(ls ,显示所有目录)
- 进入下载的项目根目录,cd 项目根目录下(只要输入前几个字母,再Tab键会自动补齐,舒服的技巧,不要那么傻傻一字不错的敲键盘)
- 检查本地仓库状况,git status,git branch
- 检查不同分支下的文件状况,首先切换到主分支( git checkout master),再右键项目文件的根目录,检查文件总大小;再切换到其他分支,比较两者的大小不同,如有差异才是正常的。
二、基本代码管理
01、建立ssh格式的远程仓库标志符
git remote add origin git@github.com:github-xxx/git-xxx.git
注意origin为标识符,以后避免到处敲又长又臭的URL,舒服人性化,其实就是比较简单的标识符
02、获取分支代码
- 获取远程服务器主分支代码,切换到本地的主分支,再获取远程主分支代码,命令: git pull origin master
三、新建属于自己的分支
- 选择需要复制的分支,建议选择代码较全的,或者正式发布的主分支,切换到分支,git checkout develop
- 在本地复制新建分支,git branch beta,(自动复制develop分支的所有代码到beta)
- 推送到远程服务器,首先切换到新建的分支(git checkout beta),再推送到远程服务器(git push origin local_branch:remote_branch,其中local_branch为beta)
- 刷新git工具,即可在本地和远程机器上,看到新建的分支。
四、使用界面工具全面管理代码
到这里,使用命令行的方式到此可以为止,why?
可视化工具就是为了节省大家的劳动力,而现成的工具不用,非得折腾命令行,
体现自己的高深能力,对于代码合并,代码拆分,代码冲突问题,怎么办?
我的经验是使用界面工具解决,而命令行只适合学习阶段,理解底层比较适合。
01、界面操作 vs 命令行
界面上点击【Pull】,获取远程服务器代码,图形化界面好多的选项控制,真心节省大量工作量了,
工具底层自动执行如下命令行:
前端简单,后台底层的复杂强大,看到之类,酷爱命令行的还有兴趣折腾不,估计兴趣大减了吧,
02、检查本地仓库
- 打开已经安装的SourceTree(版本1.6.11),选择File-->Open.., 注意这里不能选错了目录,E:\git_oschina\xiongyueyun,如果选错了,看不到当前分支
四、其他内容
推送至主分支(未推送的新项目)
首先在本地切换到主分支,
git push -u origin master
注意,-u参数表示在推送的同时,将origin仓库的主分支设置为本地仓库当前分支的上游(upstream)
很好奇,upstream,啥意义,将来运行git pull命令从远程仓库获取内容时,本地仓库的这个分支就可直接从origin的主分支获取内容,
省去了另外添加参数的麻烦。