zoukankan      html  css  js  c++  java
  • Git学习笔记

    Git学习笔记

    Git历史

    • git的作者也是Linux系统的作者
    • 当时git的作者用的Bitkeeper来管理和维护代码,结果当时Linux开源社区的人偷偷搞破解被BitKeeper公司发现了,于是收回了免费使用权
    • 然后这个大神就自己开发了一个,不能没得用嘛。结果越来越火了。

    Git和svn的对比

    • svn是集中式管理方式,会把代码提交到服务器,集中式开发很方便,缺点是服务器挂了就只能等。
    • git是分布式版本控制系统,是不连接服务器的。git是有一个本地仓库的,不一定要链接服务器。

    Git的工作流程

    1. 本地仓库闭环
      1. 先把本地仓库的代码和工作区代码进行校验
      2. 将工作区代码加入进暂存区
      3. 最后将代买提交到本地仓库形成闭环
    2. 远程仓库交换代码
      1. 将本地仓库push到远程仓库
      2. 有人要提取就将远程仓库代码复制到本地仓库
      3. 或者直接拉到工作区
      4. 然后再实现本地闭环

    Git的安装

    • 传送门
    • 下载好之后一路点确认即可
    • 装海龟
    • 装语言包

    怎么创建一个版本库

    • 创建自己放版本库的文件夹
    • 在文件夹页面右键选择创建版本库(直接鼠标右键即可),并直接确定,就能在这个位置创建一个.git 的版本库
      • 这是一个隐藏文件夹,记得打开隐藏选项,不然会看不到

    提交文件到工作区和暂存区

    • 右键一个文件,移动到TortoiseGit选项中选中添加,其实是将文件添加到工作区,点击提交才能加进本地仓库
    • 再次右键,选择提交到master,就能打开提交页面
    • git需要写日志才能提交,最好写上自己改了什么,再提交

    修改文件内容并提交

    • 右键,选择tortoisegit选项,选择版本库浏览器,就能看到本地库里已提交的有什么文件
    • 可以对文件进行修改操作
      1. 直接打开文件,开始操作,开始各种写。
      2. 修改保存后,右键修改的文件,点击git->提交master,然后跟上面提交文件一样,先写日志,再将文件提交到版本库
    • 可以查看进行了那些修改
      1. 右键,选择tortoisegit,选择显示日志,就能查看每次提交的日志
      2. 选中其中两个版本,然后右键选择比较两个版本的差异,就可以看到两个版本之间内容之间的差异在哪里,修改部分会高亮

    删除文件

    • 删除的两种操作
      1. 可以直接选中文件,然后delete掉。
      2. 右键要删除的文件,选中tortoisegit选项,里面有个删除选项,点击删除。
      3. 注意,这样删除没有真正删除,他还是可以复原的

    然后讲讲复原操作

    • 复原操作

      1. 复原的前提是没有提交到版本库

      2. 直接右键选择tortoisegit选项,里面就有一个复原选项

      3. 点击复原,选择自己想要复原的文件

    有时我的确想直接删掉不能复原,这样的话:

    • 从版本库中删除,不能复原
      1. 执行一下删除操作
      2. 右键,选择git->提交master,然后和上面的提交操作一样,做完就能真正提交了。

    而又有的时候我只是想删版本仓库里的文件,并不想删工作区的文件,这样的话:

    • 删除工作副本
      1. 右键,选择tortoisegit选项,选择删除本地副本
      2. 这时候还没提交,是还没彻底删除的,于是我们就重复上面无法复原的删除操作就行

    将一个工程加入本地版本库,并且忽略希望忽略的的文件

    • 添加工程

      • 选中文件夹后,按照添加文件那样添加就可以了。
    • 忽略部分文件

      1. 选中想要忽略的文件夹或者文件,右键选择tortoisegit,找到添加到忽略列表选项,点击进入到界面

      2. 忽略类型

        • 递归忽略:会把文件夹里的所有文件都忽略
        • 只忽略指定文件夹的文件或者文件夹

        建议选择递归忽略,全部忽略掉

      3. 选定.gitignore 的文件位置

        • 一般来说会有三个,放在版本库根目录,放在文件夹根目录,放在exclude文件夹
        • 建议选择放在文件家所在目录
      4. 点击确定之后会问你是否要删除本地文件,一般是不删除

    • 可以看到忽略完之后能看到一个.gitignore 文件,用txt打开,会看到一排文件名,是忽略的文件夹或者文件夹的名字

    用Github创建一个远程仓库

    • 首先先登陆注册一个GitHub账户。

    • 建立一个仓库

      1. 在主页面上,找到创建新项目,点击,进入创建新项目

      2. 将仓库名字写上,描述写上

      3. 选择仓库类型

        • public:就是向公众公开,就是所谓的开源
        • private:不向公众公开,违反开源精神,要付一定的钱
    • 利用https或者ssh推送远程仓库

      1. ssh(使用私钥加密,公钥解密的方式,是暂时最安全的加密方式)

        • 点击自己刚建立的仓库,看到这一行下面

          Quick setup — if you’ve done this kind of thing before
          

          能看到一个https和ssh的按钮选项,点击能生成对应的链接

          这次我们点击ssh~

        • 往下看,看到这个下面

          …or push an existing repository from the command line
          git remote add origin git@github.com:xxxxxx/repo1.git
          git push -u origin master
          

          这个就是将本地仓库推送到远程仓库的命令

      2. 生成一个ssh

        • 右键,点击git bash here

        • 输入下面的命令

          ssh-keygen -t rsa
          

          回车,等待执行完毕

        • 执行完毕后,在

          C:Usersadmin.ssh
          

          可以找到自己刚刚生成的ssh。admin根据你自己的用户名来定,不一定是admin。

        • 文件夹里有公钥和私钥

          id_rsa //私钥
          id_rsa.pub //公钥
          

          私钥不要乱给。但要把公钥告诉给服务器。

          以txt形式打开id_rsa.pub 将里面的东西全部复制下来

        • 回到GitHub,点击头像,找到setting,找到SSH and GPG key,点击

        • 然后自定义一个ssh的名字,将刚刚复制的东西全部粘贴,再确定添加

        • ssh添加完毕

      3. 将项目发送到GitHub

        • 这就很简单了朋友们,右键,点击git bash here

        • 输入下面的命令,就是GitHub提供的命令

          git remote add origin git@github.com:xxxxxx/xxxx.git//记得改掉xxx
          git push -u origin master
          
        • 然后回车+yes,一路点,就发送过去了

        • 回到GitHub刷新看看~

      4. https

        • 用https就很方便了朋友们~

        • 点击自己刚建立的仓库,看到这一行下面

          Quick setup — if you’ve done this kind of thing before
          

          能看到一个https和ssh的按钮选项,点击能生成对应的链接

          这次我们点击https~,复制链接

        • 然后回到要同步的文件夹,右键,点击git同步

        • 点击管理

        • 编辑远端姓名,随便自己起

        • URL填自己刚刚复制的链接

        • 删光Putty密钥

        • 添加就可以,可能会弹出一个窗口,不理会确认就行

        • 回到那个界面,我们呢点推送

        • 会提示我们输入GitHub的账户名和密码,输入进行

        • 然后就是等待成功喔~

    从远程仓库克隆到本地

    • 使用ssh克隆
      1. 登录GitHub,选择自己想要克隆的库点击点开
      2. 在页面中找到clone and download ,点击
      3. 这里选择ssh,会自动生成一个链接,复制一下
      4. 回到你想要复制的文件夹,右键点击 git bush here
      5. 输入命令行git clone + 你复制的ssh链接 ,回车,不出意外就在下载了
    • 使用https克隆
      1. 登录GitHub,选择自己想要克隆的库点击点开
      2. 在页面中找到clone and download ,点击
      3. 这里选择https,会自动生成一个链接,复制一下
      4. 回到你想要复制的文件夹,右键点击 Git 克隆
      5. 它会自动帮你填上你刚刚复制的链接,点击确定就能成功克隆

    将本地版本库推送到远程服务器

    • 首先对自己的文件进行修改,提交到本地版本库
    • 右键,点击Git 同步
    • 选择好服务器端之后,点击推送就能发送到服务器。

    推送时出现冲突

    • 推送的时候,如果别人先修改了服务器的版本库,而你没有在这个基础上修改,就会发生冲突,不会正常推送而是报错。

    • 这时候需要处理发生冲突的文件。

      1. 这个时候我们只能选择拉取,并且拉取一定会失败,且文件会显示冲突

      2. 打开冲突文件后,会看到这样的情况。中间内容就是冲突内容,更改的时候将两个头给删掉,自己把冲突部分合并了。

        <<<<<<< HEAD
        。。。
        >>>>>>> f704b43f53ce01496134a4c50d0f662de08c73b1
        
      3. 保存,右键选择tortoisegit选项,选择解决冲突

      4. 然后提交到远程服务器就可以了

    分支

    • 怎么创建分支
      1. 右键选择tortoisegit选项,里面有两个选项可以创建分支
        • 切换/检出:创建分支后会直接选择新的分支作默认分支
        • 创建分支:创建分支后不会选择性的分支作默认分支
      2. 选择之后步骤就是按照界面的操作点,直接确定就行了
    • 分支的概念
      1. 它相当于一个指针,指向开发版本的的当前时间线上
      2. 用某个指针开发后,版本互不影响,各走各的路,会形成一个分叉
      3. 同时他也可以合并指针,将两个指针指向的版本合并,变成一个新的版本
  • 相关阅读:
    Post返回json值
    调用接口并获取放回json值
    c# 获取IP
    sqlserver2008不允许保存更改
    判断客户端是否是手机或者PC
    3.docker tomcat集群
    1.docker 安装
    Maven profiles 多环境配置
    MySQL 定时任务
    MyBatis 三剑客
  • 原文地址:https://www.cnblogs.com/cell-coder/p/12511258.html
Copyright © 2011-2022 走看看