zoukankan      html  css  js  c++  java
  • git学习

    1.0 git和svn的区别

      SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就郁闷了。

      

      集中管理方式在一定程度上看到其他开发人员在干什么,而管理员也可以很轻松掌握每个人的开发权限。

        但是相较于其优点而言,集中式版本控制工具缺点很明显:

          服务器单点故障

          容错性差

       Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

      

     2.0 git 的工作流程 

      1.从远程仓库中克隆 Git 资源作为本地仓库

      2.从本地仓库中checkout代码然后进行代码修改

      3.在提交前先将代码提交到暂存区

      4.提交修改。提交到本地仓库。本地仓库中保存修改的各个历史版本。

      5.在修改完成后,需要和团队成员共享代码时,可以将代码push到远程仓库

      

    3.0 git的安装 

      安装git for windows

      安装TortoiseGit

    4.0 github使用

      注册登录start a project 填写项目名称 确定

      使用ssh推送项目,首先生成密钥对

        在windows我们可以使用 Git Bash.exe来生成密钥,可以通过开始菜单或者右键菜单打开Git Bash

        git bash 执行命令,生命公钥和私钥

          命令: ssh-keygen -t rsa

      

        执行命令完成后,window本地用户.ssh目录C:Users用户名.ssh下面生成如下名称的公钥和私钥:

        

      添加公共密钥到github

            

      4.1使用命令行将本地仓库推送到远程  

      git remote add origin git@github.com:helloworldmygithub/repo1.git
      git push -u origin master

       呵呵 推送失败,提示connect to host github.com port 22: Connection refused

      见鬼 确定操作无误 百度可知缺少配置文件config, port要改为443

      进入.ssh的目录,创建config配置文件,文件内容

      Host github.com 
      User 1401457589@qq.com 
      Hostname ssh.github.com 
      PreferredAuthentications publickey 
      IdentityFile ~/.ssh/id_rsa 
      Port 443

      重新打开窗口,输入命令,输入yes,成功上传工程

      

      4.2 使用图形界面也可以,在GitHub上新建仓库repo2

        

         

      4.3 使用https也可以,在GitHub上新建仓库repo3

        

       4.4克隆下载github项目

        命令行克隆: git clone git@github.com:helloworldmygithub/repo3.git 

        图形化界面克隆:右击克隆添加url即可

      4.5 修改文件并解决冲突

        推送新增文件(右键同步 push推送)

        获取新增文件(右键同步 pull拉取)

      a修改提交本地,同步服务器

      b修改提交本地,同步服务器冲突,同步失败

      b拉取最新代码pull,文件变为黄色三角,说明冲突

      打开查看文件

      aaaa
      <<<<<<< HEAD
      2222
      =======
      1111111
      >>>>>>> 5715cfbf8ce6f9dfe754a7254d5cf423820eb194

      修改文件

      aaaa
      1111111
      2222

      右键点击解决冲突,提交本地,同步远程

    5.0 搭建私有仓库 

      远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改。GitHub就是一个免费托管开源代码的远程仓库。但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用。

    搭建Git服务器需要准备一台运行Linux的机器,在此我们使用CentOS。以下为安装步骤:

      1、安装git服务环境准备

      yum -y install curl curl-devel zlib-devel openssl-devel perl cpio expat-devel gettext-devel gcc cc

      2、下载git-2.5.0.tar.gz

      1)解压缩

      2cd git-2.5.0

      3autoconf

      4./configure

      5make

      6make install

      3、添加用户

        adduser -r -c 'git version control' -d /home/git -m git

        此命令执行后会创建/home/git目录作为git用户的主目录。

      5、设置密码

        passwd git

        输入两次密码

      6、切换到git用户

        su git

      7、创建git仓库

        git --bare init /home/git/first

        注意:如果不使用--bare”参数,初始化仓库后,提交master分支时报错。这是由于git默认拒绝了push操作,需要.git/config添加如下代码:

        [receive]

              denyCurrentBranch = ignore

        推荐使用:git --bare init初始化仓库。

    6.0 连接私有仓库 

      私有git服务器搭建完成后就可以向连接github一样连接使用了,但是我们的git服务器并没有配置密钥登录,所以每次连接时需要输入密码。

      使用命令连接:

        $ git remote add origin ssh://git@192.168.25.156/home/git/repo1

      这种形式和刚才使用的形式好像不一样,前面有ssh://前缀,好吧你也可以这样写:

        $ git remote add origin git@192.168.25.156:repo1

        使用TortoiseGit同步的话参考上面的使用方法

    7.0分支与合并

      

    创建分支:可以使用创建分支然后切换,也可以直接切换/检出,在里面创建分支

    切换到master分支,先创建一个text.txt文件,在修改一个hello文件到达v8

    切换到dev1分支,新建一个文件zhangsan.txt文件,在修改hello文件到达v6

    想要将dev1合并到master分支

      首先切换到master分支,然后选择合并,选择从dev1合并

      修改hello文件解决冲突,标记解决冲突resolve,提交

    8.0 在idea中使用git

      安装好IntelliJ IDEA后,如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安装位置则需要手动配置下Git的路径。

    选择FileSettings打开设置窗口,找到Version Control下的git选项:选择git的安装目录后可以点击“Test”按钮测试是否正确配置

      在idea中创建一个工程,例如创建一个java工程,名称为idea-git-test

      在菜单中选择vcs”→Import into Version ControlCreate Git Repository...   目录最好选择工程的上级目录

      本例中应该选择idea-projects目录,然后点击“OK”按钮,在工程的上级目录创建本地仓库,那么idea-projects目录就是本地仓库的工作目录,此目录中的工程就可以添加到本地仓库中。也就是可以把idea-git-test工程添加到本地仓库中。

    选择之后在工具栏上就多出了git相关工具按钮

      

    直接点击commit按钮,将工程提交至本地仓库

    推送到远程仓库

      github上创建一个仓库然后将本地仓库推送到远程。

      在工程上点击右键,选择gitRepositorypush

      或者在菜单中选择vcsgitpush

      点击“Define remote”链接,配置https形式的URLgit形式的无法通过。然后点击OK

      输入用户名密码,记住用户名密码

    从远程仓库下载工程

      checkout from version control ->git->复制仓库路径->clone->yes->next->next

    分支:vcs->git->branches ->create创建分支   ->选择并checkout切换分支

  • 相关阅读:
    arcgis server 9.2代码阅读笔记一:在图层中增加一个点
    mapx+vb实战摘要
    F# 程式設計入門 (1)
    arcgis server 9.2代码阅读笔记二:在页面上动态加载图层
    F#维基百科,自由的百科全书(重定向自F#)
    用VC++进行MapX二次开发
    sdsalea process in sd
    abap关于sap地址,传真,邮箱的地址读取
    SDEnterprise Structure Configuration
    ABAP通过LDB_PROCESS函数使用逻辑数据库
  • 原文地址:https://www.cnblogs.com/helloworldmybokeyuan/p/11620397.html
Copyright © 2011-2022 走看看