zoukankan      html  css  js  c++  java
  • 如何使用git?

    因为有在开始搞项目,所以要学习下git. 然后有了这篇文章.

     

    关于git使用及介绍

     

    git你可以不用它,但是你必须要会它….没有为什么…    所以我就不介绍git是什么以及为什么要用了.. 网上一大堆.

     

    学习git首先要了解集中式和分布式的概念,要了解git为什么好,好在哪…

     

    一 :  集中式和分布式

    集中式版本控制系统 : (例 : CVS及SVN)

     版本库(repository)是集中存放在中央服务器的(版本库 :你可以简单的把它看成一个目录),而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。

    集中式版本 必须要联网才可以工作.

     

    分布式版本控制系统 : (例 : git

    BitKeeper

    以及类似git的Mercurial和Bazaar等)

    • 分布式没有中央服务器,每个用户的电脑上都是一个完整的版本库.
    • 既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

    比较 :

    和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。

    在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局域网内,两台电脑互相访问不了,也可能今天你的同事病了,他的电脑压根没有开机。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。

     

     

    二 :  安装

     

    • 可以通过homebrew,然后通过homebrew安装Git,具体方法请参考homebrew的文档:http://brew.sh/
    • 也可以通过xcode,  笔者的Xcode是9.x版本,没找到设置的地方. 而且笔者平常多用于Python.所以没配置.

     

    在进行安装前,要说一下,Git和SVN一样,都需要创建一个服务器的,他们都可以创建自己的版本管理服务器。对于个人和小团队来说,使用托管服务器可能更合适。

    常见的有Github 和 Bitbucket。Github没有个人免费仓库使用,代码放上去就是开源的。Bitbucket的个人仓库相关页面已经基本汉化了。注册流程也比较简单。

    MAC上最好的GIT免费GUI工具是SourceTree(没有之一)。此外,最好的GIT代码开源网站是GitHub,最好的GIT代码私有库是BitBucket

    安装过程:

    1,下载Git installer,地址;http://git-scm.com/downloads

    2,下载之后打开,双击.pkg安装

    3, 打开终端,使用git --version或者which git命令查看安装版本,有就是安装成功了

    4,创建一个全球用户名、全球邮箱

    git config --global user.name "ugfly"

    git config --global user.email "MY_NAME@example.com"

    5、安装成功后打开终端

    cd ~进入根目录

    输入命令ssh-keygen生成ssh-key,如果有提示,一直按回车

    localhost:sirius chen$ cd 
chen$ ssh—keygen 
Generating public/private rsa key pair. 
Enter file in which to save the key ( / Users/chen/.ssh/id_rsa): 
Created directory • /Users/chen/.ssh' . 
Enter passphrase (empty for no passphrase): 
Enter Same passphrase again: 
Your identification has been saved in /Users/chen/ . ssh/id_rsa. 
Your public key has been saved in /Users/chen/.ssh/id_rsa.pub. 
The key fingerprint is: 
SHA256:mataExW01vdUUC6aXCJP/FG/CNLf5qQ7XH9fllL45kuE chen@localhost 
The key's randomart image is: 
0++00 
.00 0+ * + 
00 +E*.. 
L-- [SHA256]—

    6、将SSH key添加到GitHub。登录到GitHub页面,Account Settings->SSH Public Keys->Add another key

    将生成的key(id_rsa.pub文件)内容copy到输入框中,save。

    commd+shift+g进入/Users/chen/.ssh/就可以看得见私钥和公钥

    私钥的名字是 id_rsa,是服务器确定你身份的唯一凭证。

    公钥的名字是id_rsa.pub。把这个文件发给仓库管理员,仓库管理员会把这个公钥放到服务器上,以后git就通过上面的私钥跟服务器交互了。如果使用github就是自己把公钥内容添加上去

    7、找一个目录执行git clone http://xxx.git(从服务器端克隆git库,当然这个要服务器管理员给你权限和帐号),以后xxx目录就是一个git目录,可以在这个目录下执行git操作

    三 : Linux基础命令

    • Sudo -s  获取绝对用户权限
    • Cd xx 进入xx目录
    • Ls (-a/-A)  显示当前路径下所有文件(隐藏的)
    • Pwd  显示当前绝对路径
    • Mkdir xx  创建文件夹xx
    • Man xx 查看xx命令手册

     

    接下来是Git基础命令含义 :

    • clone  克隆远程仓库
    • init  初始化仓库
    • remote  连接远程仓库
    • pull  从远程仓库下拉获取新数据
    • push  将本地仓库新增或修改文件上传到远程仓库
    • add  添加文件或者修改文件,commit以及push之前使用
    • log  当前从仓库提交过的日志信息
    • status  当前仓库版本状态
    • commit  提交到当前仓库中
    • branch  分支命令,相关增删查操作
    • checkout  使用远程仓库最后衣蛾版本完全覆盖当前仓库内容 / 选择分支branch
    • diff  对比版本内容
    • merge  合并版本内容

    日常操作:

    git init

    git add .

    git commit -m'first commit'

    这步是与你远程仓库绑定,每次你新建好远程仓库后,会有提示教你如何建立绑定。

    git push origin master

     

     

    如果你之前上线的代码有bug,然后你修改了之前的代码,并且加了点新代码,现在要提交到远程仓库,使用上述那种方法会报错。 

    git pull origin master

    git log

    git status

    git branch new_分支名

    git branch 

    git checkout new_分支名

    git add .

    git commit -m'修复之前bug,添加新代码'

    git checkout master    

    git merge new_分支名         !!!!!!!!!!!!!!!!!!!!!!

    git push origin master   

    git branch -d new_新分支

  • 相关阅读:
    springcloud相关组件使用时的jar包
    day62-django-反向解析、路由分发、名称空间、伪静态、视图层(三板斧、JsonResponse、form表单上传文件、request对象方法、FBV与CBV)
    day61-django-数据的查改删、创建表关系 、请求生命周期流程图、路由层(路由匹配 无名分组 有名分组 无名有名是否可以混合使用 反向解析)
    AcWing487. 金明的预算方案题解(DP,分组背包)
    day60-django-静态文件配置、request方法、链接数据库、ORM操作
    day59-django-写一个简易版本的web框架、jinja2、web框架请求流程图、框架介绍、django基本操作
    day58-jQuery事件的阻止、委托、页面加载、动画、前端框架bootstrap、搭建图书管理系统
    day57-jQuery练习、操作标签、事件
    day56-js原生事件绑定-jQuery导入、查找标签
    day55-前端js-BOM与DOM操作
  • 原文地址:https://www.cnblogs.com/Wormhole-f/p/7922148.html
Copyright © 2011-2022 走看看