GitHub 远程仓库 de 第一次配置

时间:2022-06-30 02:41:44

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. 点击右上角的GitHub 远程仓库 de 第一次配置标志,进入个人中心,然后点击左侧的ssh公钥后在下图位置填写你的ssh公钥。

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

GitHub 远程仓库 de 第一次配置

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


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

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

GitHub 远程仓库 de 第一次配置

点击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的版本库。

GitHub 远程仓库 de 第一次配置

基本使用

简单快捷操作步骤:

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的解决办法

GitHub 远程仓库 de 第一次配置

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

  sign_and_send_pubkey: signing failed: agent refused operation

这个时候我们只要执行下

  eval "$(ssh-agent -s)"
  ssh-add
就可以了.
(github克隆到本地linux, 有些项目有权限问题,只有sudo su 进入到root 权限才可以操作文件.)
(方法是删除秘钥,重新配置用户密码和生成新的秘钥,在普通用户下操作,如报上面的错误,解决即可.)

GitHub 远程仓库 de 第一次配置的更多相关文章

  1. iOS开发——源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )

    一.git简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的   git的起源 作者是Linux之父:Linus Bened ...

  2. github远程仓库初始化配置

    github远程仓库的提交一般是通过shell进行,windows下有Git Bash工具(https://git-for-windows.github.io/) 由于本地Git仓库和GitHub仓库 ...

  3. Git本地仓库push至GitHub远程仓库每次输入账户密码问题解决(亲测可行)

    在使用git push命令将本地仓库内容推送至GitHub远程仓库的每一次git都要让我们输入GitHub的用户名和密码.这着实让我们心烦.我们会有疑问,我明明设置了公钥呀!怎么还需要输入账户和密码? ...

  4. 使用git将本地仓库同步到github远程仓库

    一.下载安装git客户端windows版本 二.建立本地仓库文件夹 三.在本地仓库里右键点击Git Bash Here 四.初始化本地仓库 [git init] 执行之后仓库中会创建隐藏的文件夹.gi ...

  5. git笔记之eclipse使用github远程仓库进行版本号管理

    原文地址:http://dtbuluo.com/90.html 这里记录一下eclipse开发工具中git的使用说明. 环境:centOS.eclipse-jee-kepler-SR2-linux-g ...

  6. Git - Git本地仓库与GitHub远程仓库关联

    前言 Git本地仓库与GitHub仓库的关联逻辑如下 创建Key 在本地仓库下,新建Key文件夹,然后打开Key文件夹,单击鼠标右键,选择Git Bash Here. 输入命令:ssh-keygen ...

  7. Github首次使用教程(本地新建项目并同步到Github远程仓库)

    网上关于Github的教程很多且有点乱,自己亲自躺坑实践,现分享出来给将要入坑的小伙伴. 主要步骤: 创建Github帐号,登录,新建仓库(远程仓库) 下载安装Git,git bash配置及简单使用( ...

  8. 创建Github远程仓库

    如何创建github远程仓库 首先, 你有先到github网站注册账号https://github.com 然后创建一个项目, Create a new repository 之后在在Reposito ...

  9. git关联github远程仓库的问题

    git关联github远程仓库的时候,报fatal: remote origin already exists. 导致这个问题原因可能是之前关联的时候关联错了,再次关联就不行了. 解决办法是: 1.将 ...

随机推荐

  1. java 读写JSON(一)

    算是第一次正式接触Json,没有深入研究,先贴上java的代码,日后才说! package priv.chenhy.datehandle; import java.io.BufferedReader; ...

  2. Installing SSL on CentOS &vert; My Virtual Time Capsule

    Installing SSL on CentOS | My Virtual Time Capsule Installing SSL on CentOS Extracted from the Sourc ...

  3. Mongodb操作之查询(循序渐进对比SQL语句)

    工具推荐:Robomongo,可自行百度寻找下载源,个人比较推荐这个工具,相比较mongoVUE则更加灵活. 集合简单查询方法 mongodb语法:db.collection.find()  //co ...

  4. 【LeetCode】22&period; Generate Parentheses &lpar;I thought I know Python&period;&period;&period;&rpar;

    I thought I know Python... Actually , I know nothing... 这个题真想让人背下来啊,每一句都很帅!!! Given n pairs of paren ...

  5. MySQL 8&period;0 新增SQL语法对窗口函数和CTE的支持

    尝试了一下MySQL 8.0的部分新特性. 如果用过MSSQL或者是Oracle中的窗口函数(Oracle中叫分析函数), 然后再使用MySQL 8.0之前的时候,就知道需要在使用窗口函数处理逻辑的痛 ...

  6. Linux限制普通用户只能使用某命令

    修改sudoers(/etc/sudoers)

  7. zeroMQ消息传送的是一个固定长度的二进制数据,而TCP是通过字节流,那二进制流和字节流有啥区别?

    1.TCP是面向连接的,它在UDP数据包的基础上增加了重传.流控等一系列机制,封装成基于字节流的传输层通讯协议.使用字节流,应用有点像语音或视频聊天,粒度小到一个字节,双向同时传输,连绵不断. Zer ...

  8. Makefile Demo案例

    # Comments can be written like this. # File should be named Makefile and then can be run as `make &l ...

  9. 很有用的高级 Git 命令

    10 个很有用的高级 Git 命令 迄今,我已经使用Git很长一段时间了,考虑分享一些不管你是团队开发还是个人项目,都受用的高级git命令. 1. 输出最后一次提交的改变 这个命令,我经常使用它 来发 ...

  10. ASK&comma;OOK&comma;FSK&comma;GFSK是什么

    http://www.21say.com/askookfskgfsk%E6%98%AF%E4%BB%80%E4%B9%88/ ASK是幅移键控调制的简写,例如二进制的,把二进制符号0和1分别用不同的幅 ...