zoukankan      html  css  js  c++  java
  • GitHub 远程仓库 de 第一次配置

    GitHub远程仓库, Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。首先找一台电脑充当服务器的角色,

    每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。

    可以自己搭建这台服务器,也可以使用代码托管网站如GiuHub,码云.

    Git 安装配置

    在使用Git前我们需要先安装 Git。Git 目前支持 Linux/Unix、Solaris、Mac和 Windows 平台上运行。

    Git 各平台安装包下载地址为:http://git-scm.com/downloads

    Git 简易指南:http://www.bootcss.com/p/git-guide/

    Pro Git 中文版(第二版)让你从 Git 初学者成为 Git 专家:https://progit.bootcss.com/

    Ubuntu

    $ apt-get install git-core
    
    $ git --version
    git version 1.8.1.2
    

    Git 配置

    Git 提供了一个叫做 git config 的工具,专门用来配置或读取相应的工作环境变量。

    这些环境变量,决定了 Git 在各个环节的具体工作方式和行为。这些变量可以存放在以下三个不同的地方:

    • /etc/gitconfig文件:系统中对所有用户都普遍适用的配置。若使用git config时用--system选项,读写的就是这个文件。
    • ~/.gitconfig文件:用户目录下的配置文件只适用于该用户。若使用git config时用--global选项,读写的就是这个文件。
    • 当前项目的 Git 目录中的配置文件(也就是工作目录中的.git/config文件):这里的配置仅仅针对当前项目有效。
    • 每一个级别的配置都会覆盖上层的相同配置,所以.git/config里的配置会覆盖/etc/gitconfig中的同名变量。

    用户信息

    配置个人的用户名称和电子邮件地址:

    $ git config --global user.name "yichuan"
    $ git config --global user.email yichuan@itxdl.cn
    

    如果用了--global选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。

    如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 --global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。

    查看配置信息

    要检查已有的配置信息,可以使用 git config --list 命令:

    $ git config --list
    http.postbuffer=2M
    user.name=yichuan
    user.email=yichuan@itxdl.cn
    

    有时候会看到重复的变量名,那就说明它们来自不同的配置文件(比如 /etc/gitconfig 和 ~/.gitconfig),不过最终 Git 实际采用的是最后一个。

    这些配置我们也可以在~/.gitconfig或/etc/gitconfig看到,如下所示:

    vim ~/.gitconfig
    

    显示内容如下所示:

    [http]
        postBuffer = 2M
    [user]
        name = yichuan
        email = yichuan@itxdl.cn
    

    也可以直接查阅某个环境变量的设定,只要把特定的名字跟在后面即可,像这样:

    $ git config user.name
    yichuan

    1,创建码云账号,github类似,注册账号.

    参考文档: http://git.mydoc.io/?t=179267

    2,创建远程项目,github类似,新建空的项目.

    参考文档: http://git.mydoc.io/?t=180676

    3,公钥认证管理

    参考文档: http://git.mydoc.io/?t=180845

    开发者向码云版本库写入最常用到的协议是 SSH 协议,因为 SSH 协议使用公钥认证,可以实现无口令访问,

    而若使用 HTTPS 协议每次身份认证时都需要提供口令。使用 SSH 公钥认证,就涉及到公钥的管理。

    1.如何生成ssh公钥


    你可以按如下命令来生成sshkey:(这个邮箱是您注册github的邮箱地址)

    ssh-keygen -t rsa -C "xxxxx@xxxxx.com"   
    
    # Generating public/private rsa key pair...
    # 三次回车即可生成 ssh key
    

    查看你的 public key,并把他添加到码云(Gitee.com) SSH key添加地址

    cat ~/.ssh/id_rsa.pub
    # ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....
    

    添加后,在终端(Terminal)中输入(GitHub就输入 git@github.com)

    ssh -T git@gitee.com
    

    若返回 Welcome to Gitee.com, yourname!则证明添加成功。

    GitHub会提示------>   Hi ---! You've successfully authenticated, but GitHub does not provide shell access.

    2.怎么添加用户ssh key?


    1. 点击右上角的输入图片说明标志,进入个人中心,然后点击左侧的ssh公钥后在下图位置填写你的ssh公钥。

    2. 点击确定,然后验证密码(即你的注册账号密码)就完成了ssh公钥添加。

    输入图片说明

    3.项目的 ssh key 和用户的 ssh key 两处地方有什么不同?


    项目的 ssh key 只针对项目,且我们仅对项目提供了部署公钥,即项目下的公钥仅能拉取项目,这通常用于生产服务器拉取仓库的代码。 而用户的 key 则是针对用户的,用户添加了 key 就对用户名下的项目和用户参加了的项目具有权限,一般而言,用户的 key 具有推送和拉取的权限,而项目的 key 则只具有拉取权限

    GitHub下添加SSH Key------>  进入github账号,在settings下,选SSH and GPG keys, 点击new SSH key

     点击new SSH key后,在title栏里自定义名字(注册邮箱),然后将上一步复制的密钥(以ssh-rsa 开头,以github账号的注册邮箱结尾的)粘贴到此处。

     然后点击Add SSH Key.

    4,从远程库克隆(项目地址是github上项目的ssh地址.)

    git clone <项目地址>
    
    例如:
    git clone git@gitee.com:yichuan/pyweb.git
    

    5,与远程库交互

    从远程库获取到本地

    git pull origin master
    

    将本地提交远程库

    git push origin master
    

    提示:如果是多人协同开发每次提交前,需要先获取,解决冲突后再次提交

    GitHub的操作:

    基本概念

    工作区:就是你在电脑里能看到的目录。

    暂存区:英文叫stage, 或index。一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。

    版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

    基本使用

    简单快捷操作步骤:

    git使用     1.下载git      2.配置
               $ git config --global user.name "yichuan"
               $ git config --global user.email yichuan@itxdl.cn
    3.创建码云的远程仓库       4.生成公钥 病添加到码云
    5.下载项目
        ssh
        git clone 地址
    6.修改      7.提交
    1.将修改内容提交至暂存区
      git add .
    2.提交到本地仓库
      git commit -m '修改说明'
    3.提交到远程
      git push

    在本地项目中完成开发后先add提交至本地暂存区

    git add 文件1 文件2 ...
    git add 目录
    git add .
    

    在本地暂存区commit提交至本地仓库

    git commit -m '本次提交的说明信息'
    

    把当前项目推送至push远程仓库进行更新

    git push origin master
    

    查看暂存区的状态

    git status   +  git push  (不用上一步)
    

    查看仓库区的历史

    当前版本的历史版本:git log
    简版显示:git log --pretty=oneline
    历史命令:git reflog
    

    对比工作区和仓库区中某版本某文件的不同

    git diff HEAD -- 文件名
    

    回退历史版本到暂存区

    git reset HEAD^或版本号

     (后续github还有好多内容)

    Git学习系列 -- Not a git repository错误解决方法

    fatal: Not a git repository (or any of the parent directories): .git

    提示说没有.git这样一个目录。

    解决办法如下:运行git init就可以了!

    git添加公钥后报错sign_and_send_pubkey: signing failed: agent refused operation的解决办法

    在服务器添加完公钥后报错

      sign_and_send_pubkey: signing failed: agent refused operation

    这个时候我们只要执行下

      eval "$(ssh-agent -s)"
      ssh-add
    就可以了.
    (github克隆到本地linux, 有些项目有权限问题,只有sudo su 进入到root 权限才可以操作文件.)
    (方法是删除秘钥,重新配置用户密码和生成新的秘钥,在普通用户下操作,如报上面的错误,解决即可.)
  • 相关阅读:
    剑指Offer(链表)-从尾到头打印链表
    Java数据结构与算法-链表
    剑指Offer(数组)-数组中重复的数字
    剑指Offer(数组)-二维数组的查找
    Java冒泡排序法实现
    springMVC全局异常配置
    CookieUtil工具类
    算法
    Java
    算法
  • 原文地址:https://www.cnblogs.com/String-Lee/p/9959612.html
Copyright © 2011-2022 走看看