Linux git 配置 免密 登录

Linxu 配置git

首先安装

yum install gitgit

设置帐号

用户名和邮箱就是GitHub注册时填写的用户名和邮箱(这里的【sunzefa】【sunzefa@qq.com】举例使用,切勿当真)github

git config --global user.name "sunzefa"  
git config --global user.email "sunzefa@qq.com" 复制代码

 查看用户名 git config user.name bash

查看用户邮箱 git config user.email ssh

有一点要注意, user.name/email后面千万记得加空格,不然你就是提交了,Git也不会提醒你配置出错fetch

生成SSH Keys

ssh-keygen -t rsa -C "sunzefa@qq.com"复制代码

键入该命令后,连续三次敲击回车键,显示以下,生成的公钥存储位置为:/root/.ssh/
ui

查公钥信息url

公钥

登入GitHub,配置SSH Keys

add

登录以后验证

验证git pull 命令是否不须要密码spa

试了一下,仍是须要,怎么办呢?code

原来啊,这个项目是直接使用https url克隆到本地。cdn

使用http 和 ssh 区别

1.clone项目:使用ssh方式时,首先你必须是该项目的管理者或拥有者,而且须要配置我的的ssh key。而对于使用https方式来说,就没有这些要求。

 2.push:在使用ssh方式时,是不须要验证用户名和密码,若是你在配置ssh key时设置了密码,则仅须要验证配对密码。而对于使用https方式来说,每次fetch和push代码都须要输入帐号和密码。

若是你以前已经一直使用https方式进行开发,当前想要切换成为ssh方式进行开发,只须要执行以下几步的操做便可:

git remote rm origin 

git remote add origin "Git仓库的ssh格式地址" git push origin

git 管理代码的机制

这里写图片描述

名称 解释
Workspace 工做区
Index / Stage 暂存区
Repository 仓库区(或本地仓库)
Remote 远程仓库

步骤: 

 1.在workspace添加git配置文件 

git init复制代码

 2.添加要上传的代码及文件至Index 

git add README.md 复制代码

3.提交代码至Repository 

git commit -m "first commit" 复制代码

4.添加远程仓库(Remote)名及路径 git remote add origin 

git@github.com:username/test.git 复制代码

5.push,即上传(Repository)代码至远程仓库保存(Remote)

git push -u origin master
这里origin为远程仓库名 master为分支复制代码

 经常使用命令 1.使用命令 git remote -v 查看你当前的 

remote url

git remote -v 复制代码

 2.使用命令 git remote set-url 来调整远程url,能够为http方式和SSH方式,

下面为SSH方式:

git remote set-url origin git@github.com:username/project.git 复制代码

3.添加当前目录的全部文件到暂存区 

git add . 
复制代码

git中的origin

  • 首先假设你本身在github上建立了一个Repository,叫作myRepository,假设你的Github ID是user1,这个时候指向你的代码库的连接是
https://github.com/user1/myRepository1复制代码
  • clone
    若是你在terminal里输入
git clone https://github.com/user1/myRepository1复制代码

这个时候git就在本地拷贝一份托管在github上的代码库

  • 进入
cd myRepository1复制代码
  • 查看
git remote -v1复制代码

你会看到控制台输出

origin https://github.com/user1/myRepository.git (fetch)
origin https://github.com/user1/myRepository.git (push)12复制代码

也就是说git为你默认建立了一个指向远端代码库的origin(由于你是从这个地址clone下来的)

总结来说,顾名思义,origin就是一个名字,它是在你clone一个托管在Github上代码库时,git为你默认建立的指向这个远程代码库的标签, origin指向的是repository,master只是这个repository中默认建立的第一个branch。当你git push的时候由于origin和master都是默认建立的,因此能够这样省略,可是这个是bad practice,由于当你换一个branch再git push的时候,有时候就纠结了

假设你在远端开了一个分支叫dev,再将它clone到本地,本地修改后从新push,利用 git push origin dev,就能够push到对应的远端了。
git push origin dev操做的前提是你切换到了当前远程dev分支。

  • 查看远程分支
$ git branch -a

* dev
  master
  origin/dev
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/master
123456789复制代码

能够看到当前在dev分支下

  • 切换分支
$ git checkout master

Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
12345复制代码

这样就切换去master分支了

相关文章
相关标签/搜索