赞
踩
Linxu 配置git
首先安装
yum install git
设置账号
用户名和邮箱就是GitHub注册时填写的用户名和邮箱(这里的【sunzefa】【sunzefa@qq.com】举例使用,切勿当真)
git config --global user.name "sunzefa"
git config --global user.email "sunzefa@qq.com" 复制代码
查看用户名
git config user.name
查看用户邮箱
git config user.email
有一点要注意, user.name/email后面千万记得加空格,否则你就是提交了,Git也不会提醒你配置出错
生成SSH Keys
ssh-keygen -t rsa -C "sunzefa@qq.com"复制代码
键入该命令后,连续三次敲击回车键,显示如下,生成的公钥存储位置为:/root/.ssh/
查公钥信息
登入GitHub,配置SSH Keys
登陆之后验证
验证git pull 命令是否不需要密码
试了一下,还是需要,怎么办呢?
原来啊,这个项目是直接使用https url克隆到本地。
使用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分支了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。