zoukankan      html  css  js  c++  java
  • 我的一个git(码云)之旅

    合作开发项目,你就会用到git,现在码云比较简单,因为是中文化界面,学习起来难度比较低,又支持5人以下项目免费,所以学习码云更好入手一点。

    下面的东西适合一些个基础比较低的用户学习,因为我就是啊。。。我都配图啦,共勉。

    (1)我现在要上手啦,新建了一个mayunDemo文件夹,切个图纪念纪念。

    (2)我已经有注册码云了,注册是个前提工作,你去注册一个先。。。

      网址给你:https://gitee.com

    (3)你已经注册了一个码云账号啦!

      点击右上角个人用户,你就进入了用户界面了,你需要一个SSH公钥,没有公钥就生成一个。

      使用SSH公钥可以让你在你的电脑和码云通讯的时候使用安全连接(Git的Remote要使用SSH地址)。

     (4)生成公钥,人家已经有提示啦,我只是给你截个图!

      。。。仔细一想,算啦,截图都懒得给你截。

    (5)因为我需要的问题,所以先交删除。。。

    我的马云。。。码云,仓库,查看你的库存。。。然后当然是点开它咯!

     点击管理,进入管理界面

     按照流程提示,一步一步删除。。。难度系数不高,请自行实践。

    删除仓库的时候,会反复提醒,反复验证,挺人性化的。

    在这里先删为敬!

    (6)现在要开始创建仓库了!你应该知道下面的操作,因为上面提到仓库了,你点击新建仓库就行了。

    自己玩就建个私人的。

     码云仓库会自带文件,关于使用性能优化的(哈哈,是我瞎猜的),额,

     

     强烈建议你仔细看完这几行代码,设置了用户和邮箱,会为后面身份识别省很多事。

    (7)找个文件夹下面,空白处右键,打开你的git(很像cmd小黑窗口)

     纳尼?你没有。。。天啊

    好吧,补了一篇git安装,自己点开看看。

    (8)说句实话,我的实力已经不够了,正在参考资料

    我们想修改仓库里的文件,是不是应该先下载那一份呢。。。

    https://www.oschina.net/question/82993_133520

    这个网址,是官网带的连接博客,名叫 “ 如何导入外部Git仓库到中国源代码托管平台(Git@OSC)”,

    名字威武霸气,提供了3中情况下的导入方案。

    我们实践第一种,其他的我也不会撒。

    git clone --bare  https://github.com/bartaz/impress.js.git (例子)

     他说我克隆了一个空仓库,我丢~

    于是乎,我把他提示的代码,就是几行简单的入门命令,输了一次。。。

    好吧,错的东西即使翻译之后也不知道怎么该,尝试最后两行代码。。。

    我往mayunDemo里面放了一个文件,然后我的编译器后面出现了一个绿色的u

     除非你上传了改变,这个u才会消失,但是暂时只能这样。。。不甘呀。。。

    (9)那就提交呗。。。查资料,怎么提交呢?

    1 提交代码:
    2 1) git add .     
    3 2)git commit -m "分支名"  
    4 3)git push  (如果有代码冲突,先git pull 在git push)

     我们直接打开还没有操作的库,所在的分支就是master,因为你git clone克隆的分支就是默认分支。

    下面介绍以下git add

    git add -A和 git add . git add -u在功能上看似很相近,但还是存在一点差别

    git add . :他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。

    git add -u :他仅监控已经被add的文件(即tracked file),他会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)。(git add --update的缩写)

    git add -A :是上面两个功能的合集(git add --all的缩写)

    (10)好了,更新库的绿帽子已经没有了!

    这个黄点点是啥呢?

    绿色,已经加入控制暂未提交
    红色,未加入版本控制
    蓝色,加入,已提交,有改动
    白色,加入,已提交,无改动
    灰色:版本控制已忽略文件。

     这里显示我们已经提交上去了!而界面上呢,许多功能因为你的库的存在,可以使用了!

    (11)早上好!又到了博客凑字数时间!

     好了,我们进入昨天的文件,进去之后呢,直接就进入了master分支

     我们查看分支git branch

     (12)分支的意义

    分支对于团队来说作用太大了。比如说一个项目现在是1.0版,那么开发团队可能要同时进行1.1版和2.0版的开发,这样代码就会出现较大分歧。这时候就需要用到分支了,不同的任务组在不同的分支上开发,互相之间不会影响。再比如说,需要向项目中添加一个新功能,一般的团队都不会直接在主分支上修改,都会新建一个分支,在上面更改代码。这样做的好处就是保证主线代码的完整性和可用性,也就是说,主线上都是稳定的代码,可以直接拿来发布的。

    再说说分支在GIT上的特点:GIT的技术可以说是非常强大,说一切开发都依赖于分支一点都不过分。一般项目的master分支都是稳定的代码,可以直接发布或者被项目之外的人使用。新特性和BUG修改都在不同的分支上进行开发和测试。这样规范了整个软件的开发流程。分支之间的互不影响这种特性可以增加团队合作的效率。GIT分支的另外一个重要特性就是可以合并不同软件仓库(fork)的分支。大体就是:开发团队有一个主软件仓库,开发者可以fork这个仓库,相当于克隆了一个私有的软件仓库,然后开发者就可以在自己的软件仓库中建立分支并开发测试,测试完毕之后,可以向主软件仓库提交merge request,这样新开发的特性就会被合并到主软件仓库的某个分支中。这种特性极大地推动了开源项目,多年前参加开源项目都是神话,自从GIT出现后,每个人都可能成为开源项目的贡献者,就是基于这种特性(请参照Github的pull request,和merge request是同一个东西)。

    (13)新建一个本地分支  :  git branch 分支名

     新建一个本地分支newDemo,然后查看,嗯啊,就有啦

    (14)切换分支  : git checkout  分支名

     切换本地分支newDemo,下面一行代码最后分支显示我们切换了分支。

    Git checkout 分支名,执行后,你本地的数据,,目录结构,都会自动更新成该成员的分支的内容我又新建了一个分支,修改了其中一条,但是呢,如果添加了一个文件,没有add的话,git会不动

     (16)合并分支。。。:git merge 分支名

     合并之后,newDemo2还在。

    (17)删掉他!。。。删除本地分支:   git branch -D 分支名

     好了,nbewDemo2删除掉了。

    (18)我们查看码云界面,你修改本地不会引起远程服务器的改变

     推送一下远程就好了。

    (19)代码有冲突,就需要下拉,这里不演示了,等项目遇到说。

    提交代码:1) git add . 2)git commit -m "分支名" 3)git push (如果有代码冲突,先git pull 在git push)
    (20)git 回退到某个历史版本: git reset --hard 1123123bbb9c00bbdca96(分支ID)


    (21)、修改推到远程服务器:git push -f -u origin 分支名

      总结:反正就这么下来了,一边研究一边敲,输出式学习比输入式学习强太多,以后做作业用git简单提交下,慢慢熟悉,慢慢看bug。

  • 相关阅读:
    【Azure 应用服务】由 Azure Functions runtime is unreachable 的错误消息推导出 ASYNC(异步)和 SYNC(同步)混用而引起ThreadPool耗尽问题
    【Azure API 管理】是否可以将Swagger 的API定义导入导Azure API Management中
    【Azure 应用服务】Azure Function 不能被触发
    【Azure 环境】Azure Key Vault (密钥保管库)中所保管的Keys, Secrets,Certificates是否可以实现数据粒度的权限控制呢?
    【Azure 事件中心】为应用程序网关(Application Gateway with WAF) 配置诊断日志,发送到事件中心
    【Azure 事件中心】azure-spring-cloud-stream-binder-eventhubs客户端组件问题, 实践消息非顺序可达
    【Azure API 管理】Azure API Management通过请求中的Path来限定其被访问的频率(如1秒一次)
    【Azure 环境】前端Web通过Azure AD获取Token时发生跨域问题(CORS Error)
    【Azure 应用服务】记一次Azure Spring Cloud 的部署错误 (az spring-cloud app deploy -g dev -s testdemo -n demo -p ./hellospring-0.0.1-SNAPSHOT.jar --->>> Failed to wait for deployment instances to be ready)
    【Azure 应用服务】App Service中抓取 Web Job 的 DUMP 办法
  • 原文地址:https://www.cnblogs.com/GGbondLearn/p/12271356.html
Copyright © 2011-2022 走看看