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类似,注册账号.
2,创建远程项目,github类似,新建空的项目.
3,公钥认证管理
开发者向码云版本库写入最常用到的协议是 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?
点击右上角的
标志,进入个人中心,然后点击左侧的ssh公钥后在下图位置填写你的ssh公钥。
点击确定,然后验证密码(即你的注册账号密码)就完成了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 远程仓库 de 第一次配置的更多相关文章
- iOS开发——源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )
一.git简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 git的起源 作者是Linux之父:Linus Bened ...
- github远程仓库初始化配置
github远程仓库的提交一般是通过shell进行,windows下有Git Bash工具(https://git-for-windows.github.io/) 由于本地Git仓库和GitHub仓库 ...
- Git本地仓库push至GitHub远程仓库每次输入账户密码问题解决(亲测可行)
在使用git push命令将本地仓库内容推送至GitHub远程仓库的每一次git都要让我们输入GitHub的用户名和密码.这着实让我们心烦.我们会有疑问,我明明设置了公钥呀!怎么还需要输入账户和密码? ...
- 使用git将本地仓库同步到github远程仓库
一.下载安装git客户端windows版本 二.建立本地仓库文件夹 三.在本地仓库里右键点击Git Bash Here 四.初始化本地仓库 [git init] 执行之后仓库中会创建隐藏的文件夹.gi ...
- git笔记之eclipse使用github远程仓库进行版本号管理
原文地址:http://dtbuluo.com/90.html 这里记录一下eclipse开发工具中git的使用说明. 环境:centOS.eclipse-jee-kepler-SR2-linux-g ...
- Git - Git本地仓库与GitHub远程仓库关联
前言 Git本地仓库与GitHub仓库的关联逻辑如下 创建Key 在本地仓库下,新建Key文件夹,然后打开Key文件夹,单击鼠标右键,选择Git Bash Here. 输入命令:ssh-keygen ...
- Github首次使用教程(本地新建项目并同步到Github远程仓库)
网上关于Github的教程很多且有点乱,自己亲自躺坑实践,现分享出来给将要入坑的小伙伴. 主要步骤: 创建Github帐号,登录,新建仓库(远程仓库) 下载安装Git,git bash配置及简单使用( ...
- 创建Github远程仓库
如何创建github远程仓库 首先, 你有先到github网站注册账号https://github.com 然后创建一个项目, Create a new repository 之后在在Reposito ...
- git关联github远程仓库的问题
git关联github远程仓库的时候,报fatal: remote origin already exists. 导致这个问题原因可能是之前关联的时候关联错了,再次关联就不行了. 解决办法是: 1.将 ...
随机推荐
- 【转载】JAVA SpringBoot 项目打成jar包供第三方引用自动配置(Spring发现)解决方案
JAVA SpringBoot 项目打成jar包供第三方引用自动配置(Spring发现)解决方案 本文为转载,原文地址为:https://www.cnblogs.com/adversary/p/103 ...
- CGContextRef&CGMutablePathRef&UIBezierPath简单学习
简单的四句介绍 Quartz是一个二维绘图引擎,使用的是CoreGraphics库,同时支持iOS和Mac系统 CGContextRef:获取图形上下文.或者叫作用域,即画布,他是专门用来保存绘画期间 ...
- 如何解决div背景色半透明,里面的图片不透明问题
用rgba可以实现,不能用opacity 背景做成透明的背景图,opacity属性影响子集的,除非把两者独立开~
- Jenkins详细教程
大纲 1.背景 在实际开发中,我们经常要一边开发一边测试,当然这里说的测试并不是程序员对自己代码的单元测试,而是同组程序员将代码提交后,由测试人员测试: 或者前后端分离后,经常会修改接口,然后重新部署 ...
- js switch case 判断的是绝对相对===,值和类型都要相等
js switch case 判断的是绝对相对===,值和类型都要相等
- 给 linux redis 设置密码
在redis.conf 找到 下面添加一行: 这样的话,密码就可以设置成123456,然后重启redis就可以了.
- 【hadoop】hadoop3.2.0应用环境搭建与使用指南
下面列出我搭建hadoop应用环境的文章整理在一起,不定期更新,供大家参考,互相学习!!! 杂谈篇: [英语学习]Re-pick up English for learning big data (n ...
- MySQL MHA工作原理
MHA工作组件 MHA(Master High Availability)是一种MySQL高可用解决方案,由日本DeNA公司开发,主要用于在故障切换和主从提升时进行快速切换,并最大程度保证数据一致性. ...
- ubifs使用方法
常用命令: 查看块设备分区信息cat /proc/mtd 查看块设备信息mtdinfo /dev/mtd0 格式化mtd分区ubiformat /dev/mtd0 将mtd分区与ubi关联ubiatt ...
- video基础介绍&封装react-video基础组件,ES6
好几个月没有写博客了,人都赖了,今天抽了一点时间把最近项目react中video整理了一下(感觉这个以后用的活比较多) 1.前三部部分详细归纳了video的基础知识,属性和功能: 2.第四部分是封装了 ...