zoukankan      html  css  js  c++  java
  • git使用教程

    一:Git是什么?

           Git是目前世界上最先进的分布式版本控制系统。

    二:SVN与Git的最主要的区别

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

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

    三:什么是 Github?

    github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。

    Github 由Chris Wanstrath, PJ Hyett 与Tom Preston-Werner三位开发者在2008年4月创办。迄今拥有59名全职员工,主要提供基于git的版本托管服务。

    四:注册账户以及创建仓库

    要想使用github第一步当然是注册github账号了, github官网地址:https://github.com/。 之后就可以创建仓库了(免费用户只能建公共仓库),Create a New Repository,填好名称后Create,之后会出现一些仓库的配置信息,这也是一个git的简单教程。

    Github 安装

    配置Git

    首先在本地创建ssh key;

    $ ssh-keygen -t rsa -C "your_email@youremail.com"

    后面的your_email@youremail.com改为你在github上注册的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。成功的话会在~/下生成.ssh文件夹,进去,打开id_rsa.pub,复制里面的key

    回到github上,进入 Account Settings(账户配置),左边选择SSH Keys,Add SSH Key,title随便填,粘贴在你电脑上生成的key。

    为了验证是否成功,在git bash下输入:

    $ ssh -T git@github.com

    如果是第一次的会提示是否continue,输入yes就会看到:You've successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。

    接下来我们要做的就是把本地仓库传到github上去,在此之前还需要设置username和email,因为github每次commit都会记录他们。

    $ git config --global user.name "your name"
    $ git config --global user.email "your_email@youremail.com"

    进入要上传的仓库(新建文件夹,在文件夹中)右键git bash,

    添加远程地址:

    $ git init (如果新文件夹中不是本地仓库,就要执行这条来创建新的 git本地 仓库。)

    $ git remote add origin git@github.com:yourName/yourRepo.git

    后面的yourName和yourRepo表示你再github的用户名和刚才新建的仓库,加完之后,文件夹中生成一个.git文件夹,进入.git文件夹,打开config文件,这里会多出一个remote "origin"内容,这就是刚才添加的远程地址,也可以直接修改config来配置远程地址。

    创建新文件夹,打开,然后执行 git init 以创建新的 git 仓库。

    检出仓库

    如果是远端服务器上的仓库,你的命令会是这个样子:

    git clone https://github.com/zhouj850/displayLeProcess.git

    工作流

    你的本地仓库由 git 维护的三棵"树"组成。第一个是你的 工作目录,它持有实际文件;第二个是 暂存区(Index),它像个缓存区域,临时保存你的改动;最后是 HEAD,它指向你最后一次提交的结果。

    你可以提出更改(把它们添加到暂存区),使用如下命令:
    git add <filename>
    git add *
    这是 git 基本工作流程的第一步;使用如下命令以实际提交改动:
    git commit -m "代码提交信息"
    现在,你的改动已经提交到了 HEAD,但是还没到你的远端仓库。

     

    推送改动

    你的改动现在已经在本地仓库的 HEAD 中了。执行如下命令以将这些改动提交到远端仓库:
    git push origin master

    可以把 master 换成你想要推送的任何分支。 

    如果报错:$ git push origin master
    To git@github.com:qzmly100/repository-.git
    ! [rejected] master -> master (fetch first)

    分析:远程分支上存在本地分支中不存在的提交,往往是多人协作开发过程中遇到的问题,可以先fetchmerge,也就是pull,把远程分支上的提交合并到本地分支之后再push。如果你确定远程分支上那些提交都不需要了,那么直接git push origin master -f,强行让本地分支覆盖远程分支。

    要更新你的本地仓库至最新改动,执行:
    git pull
    以在你的工作目录中 获取(fetch 并 合并(merge 远端的改动。

    git add .        (注:别忘记后面的.,此操作是把Test文件夹下面的文件都添加进来)

    git commit  -m  "提交信息"  (注:“提交信息”里面换成你需要,如“first commit”)

    git push -u origin master   (注:此操作目的是把本地仓库push到github上面,此步骤需要你输入帐号和密码)

  • 相关阅读:
    正则表达式、常用的匹配总结
    已知IP地址,如何计算其子网掩码,默认网关地址,网络地址等。
    暑假作业日总结
    暑假作业日总结
    暑假作业日总结
    暑假作业日总结
    暑假作业日总结
    暑假作业日总结
    暑假作业日总结
    暑假作业日总结
  • 原文地址:https://www.cnblogs.com/zhouj850/p/7260552.html
Copyright © 2011-2022 走看看