搭建环境-git常见使用总结
Descripton:git
一、Git安装和本地用户全局配置
官网下载并且安装
查看是否安装成功win + R
输入git,出现git命令指南,则安装成功
全局配置本地用户,在git Bash中进行下面配置(尽量仔细,检查一遍),下面的账号名字和邮箱都是github的账号所使用的
git config --global user.name "wztlink1013"
git config --global user.email "2550374815@qq.com"
其中:global表示全局可用,如果要设置局部可用,则只需要删除global即可
验证是否配置成功:git config --global --list
二、利用SSH绑定Git和GitHub
生成
输入ssh-keygen -t rsa
,然后回车三下 (有些时候要回车四下)
然后在用户管理员文件夹下生成两个文件夹id_rsa和id_rsa.pub,将后者内容添加到GitHub上即可。
添加
在github上的setting上添加新的ssh即可
验证
在git Bash输入:ssh -T git@github.com
- 如果出现Hi name !you are……证明绑定成功。
- 如果报错,则是因为少了一个文件,使用过程中直接点yes。具体解决原理
三、Git向GitHub提交代码
了解pull和push
git push origin master
git pull origin master
提交情况1:clone
本地没有git仓库,也没有git init操作,需要先从GitHub下载
选定仓库克隆
git clone https://github.com/wztlink1013/Python_DataAnalysis.git
对本地文件夹进行一系列更改之后,执行命令:
git status #查看仓库命令状态
git add . #文件提交到文件缓冲区
git commmit -m "描述本次修改信息" #提交仓库并且添加提交信息
git log #查看修改日志
git status #再次查看
push到远程仓库
首次推送:
git push -u origin master
非首次推送:
git push origin master
提交情况2:pull
这种情况是,本地有git仓库,指之前已经进行git init等一系列命令对该文件夹操作过。新建一个例子:
git init
初始化本地仓库
git remote add origin https://github.com/guobinhit/springmvc-tutorial.git
关联远程仓库
git pull origin master
同步远程仓库和本地仓库
假如在本地新加文件:
执行git status等命令
再执行
git push origin master
将本地新内容提交到远程仓库
注意!:在进行本地仓库和远程仓库的文件交互时,一定要先pull再push,不然会出未知错误。
四、常用命令总结
git init
git status
git add
git commit
git log
git branch #查看分支
git checkout #切换分支
git merge #合并分支
git branch -d #删除分支
git tag #给分支添加标签
git remote -v #查看相关信息
五、部署多个github/+coding等账号
思路
好处:一台设备可以使用多个github账号/github+coding等等多平台托管/搭建两个静态博客
取消全局用户配置(每建立一个新文件夹,需要输入使用账号),建立多个ssh密匙(如果是github账号+coding账号+gitee账号等)
SSH的公钥是GitHub连接本地仓库和远程仓库的标识,一个公钥只能对应一个GitHub账户,一个相同的公钥不能上传到不同的GitHub账户
一台电脑,可以生成多对公私钥,可以通过配置,将不同的公钥上传到不同的GitHub账号,那么就不存在单个公钥绑定多个GitHub账号的情况存在了
多密匙生成
先进来该文件夹(忽略图片上写的字)
创建新密匙方法一(首选)
ssh-keygen -t rsa -f ~/.ssh/这里是新密钥名称 -C "这里是你的邮箱"
注意区别新密钥名称和旧密钥名称,不要相同!!
- 创建新密匙方法二
输入这个:ssh-keygen -t rsa -C "这里是你的邮箱"
出现这两句:
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/you/.ssh/id_rsa):
注意此时需要你输入新密钥的名称,同样要注意区别新密钥名称和旧密钥名称,不要相同,之后再两次回车。
配置config
.ssh根文件夹下没有config文件,需要新建
- 新建config文件方法一
在.ssh根路径下键入该命令touch config
- 新建config文件方法二
记事本新建文件config文件!!没有后缀
- 输入内容
#第一个账号,默认使用的账号,不用做任何更改
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
#第二个新账号,#"xxxxxx"为前缀名,可以任意设置,要记住,后面需要用到
Host xxxxxx.github.com
HostName github.com
User git
IdentityFile ~/.ssh/这里是你创建的新密钥的名称
# one(one@gmail.com)
Host one.github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_one
User one
# two(two@gmail.com)
Host two.github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_two
User two
Host myhost(这里是自定义的host简称,以后连接远程服务器就可以用命令ssh myhost)
HostName 主机名可用ip也可以是域名(如:github.com或者bitbucket.org)
Port 服务器open-ssh端口(默认:22,默认时一般不写此行)
PreferredAuthentications 配置登录时用什么权限认证--可设为publickey,password publickey,keyboard-interactive等
IdentityFile 证书文件路径(如~/.ssh/id_rsa_*)
User 登录用户名(如:git)
每个账号单独配置一个Host,每个Host要取一个别名,一般为每个Host主要配置HostName和IdentityFile两个属性,配置完保存即可。
Host的名字可以自定义名字,不过这个会影响git相关命令,例如:Host mygithub 这样定义的话,使用命令git clone git@mygithub:PopFisher/AndroidRotateAnim.git,git@后面紧跟的名字改为mygithub
mine
部署SSH key
将根文件夹下的wztlink1013.pub
文件复制到github上,coding/gitee类似
title可以随便填
清缓存,添agent
在根目录下
ssh-add -D
ssh-add xxxxxx #旧密钥名称,一般是id_rsa
ssh-add xxxxxx #新创建的密钥名称
如果执行以上命令出现错误:Could not open a connection to your authentication agent.
,那么就需要先执行ssh-agent bash
,再执行以上命令
验证是否配置成功
一下第一个是之前默认的github账号,默认即可,第二个是添加的
ssh -T git@github.com
ssh -T git@xxxxxxx.github.com
出现Hi 你的用户名! You've successfully authenticated, but GitHub does not provide shell access.
则成功。
使用
- 取消全局用户名和邮箱配置(如果已经设置了全局的话)
git config --global --unset user.name
git config --global --unset user.email
- clone
原来:git clone git@github.com: wztlink1013/learngit.git
现在:
git clone git@wztlink1013.github.com: wztlink1013/learngit.git
git clone git@twicename.github.com: twicename/learngit.git
- 单独为每个repo设置 用户名/邮箱【以文件夹为单位】
git config user.name "wztlink1013"
git config user.email "2550374815@qq.com"
git config user.name "twicename"
git config user.email "123456789@qq.com"
如果报错:fatal: not in a git directory
,说明没有进入.git目录下,具体路径:其中.git目录是隐藏的,需要你设置隐藏目录可见
执行git config --list
查看设置是否成功
六、参考资料
- GitHub简单使用https://github.com/guobinhit/cg-blog/blob/master/articles/github/README.md
- 多账号https://www.itrhx.com/2019/01/18/A16-deploy-two-or-more-hexo-blogs/
- 多账号https://blog.csdn.net/u013716535/article/details/78621775
- 多账号https://blog.csdn.net/IT_xiao_bai/article/details/88563103?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
搭建环境-git常见使用总结的更多相关文章
- Pull Request的过程、基于git做的协同开发、git常见的一些命令、git实现代码的review、git实现版本的管理、gitlab、GitHub上为开源项目贡献代码
前言: Pull Request的流程 1.fork 首先是找到自己想要pull request的项目, 然后点击fork按钮,此时就会在你的仓库中多出来一个仓库,格式是:自己的账户名/想要pull ...
- 内部开发环境 git代码托管说明
前言 随着员工的增加 代码的开发版本管理 提上了日程.初步计划: 1 一台机器 192.168.1.240 git代码版本管理 2 运行环境 192.168.1.241 内部开发运行环境 软件工程师 ...
- 关于git常见的一些问题
本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 Mark一下,最近用的比较少,担心忘记了. 作为一个程序员,git或者SVN是必备技能,尤其是 ...
- Java基础笔记(1) 语言 JAVA的历史 Java的搭建环境
本文除了搭建是重点,其他的都当阅读小说一样去看就好了,不想看可以直接抓住重点,我会改变颜色勾出重点! 英语是人与人交流沟通的重要方式之一.JAVA:是人与计算机沟通交流重要方式之一.我们除了用java ...
- 使用Gitblit 搭建Windows Git服务器
使用Gitblit 搭建Windows Git服务器 整理使用Gitblit搭建Git服务器的步骤. 目录 使用Gitblit 搭建Windows Git服务器 目录 下载安装 配置 运行 客户端运行 ...
- java学习第01天(搭建环境配置)
搭建环境配置分为3个步骤 1.下载并安装 jdk使用1.8.0_151版本,下载地址(包含32位和64位):链接:https://pan.baidu.com/s/1qZau8oO 密码:0t5o 2. ...
- 利用阿里云搭建私有Git服务器
服务器系统:Centos 6 (查看centos版本命令:lsb_release -a) 客户端系统:Windows 7 一.服务器端安装Git ==通常centos上使用yum源安装的git版本过低 ...
- [Laravel] mac下通过 homestead 搭建环境 到运行项目
seven_Android 关注 2017.07.03 21:33* 字数 2240 阅读 3464评论 10喜欢 9 之前学习过一段时间的 Laravel ,换 mac 后一直没空做相关的事情,而且 ...
- 在阿里云上搭建私有GIT仓库
在阿里云上搭建私有GIT仓库 年轻人就得好好学习,不能这么颓废 最近做项目练练手,用到了github, 但是github访问速度是真的慢啊,下载项目,下载一天了.所以呢,我是个成熟的人了,只好自己搭建 ...
随机推荐
- Hadoop集群搭建(四)~centos6.8关闭防火墙
一.centos关闭防火墙 1,关闭防火墙.service iptables stop 2,关闭防火墙开机自启.chkconfig iptables off 3,查看防火墙状态.service ipt ...
- (转)C++对象的内存布局
原文地址:http://blog.csdn.net/haoel/article/details/3081328 C++ 对象的内存布局 陈皓 http://blog.csdn.net/haoel 前言 ...
- go源码分析(一) 通过调试看go程序初始化过程
参考资料:Go 1.5 源码剖析 (书签版).pdf 编写go语言test.go package main import ( "fmt" ) func main(){ fmt.Pr ...
- 分布式——吞吐量巨强、Hbase的承载者 LSMT
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是分布式系统的第九篇文章. 今天给大家分享的内容是LSM树,它的英文是Log-structed Merge-tree.看着有些发怵,但其 ...
- PowerShell初探
Windows PowerShell是一种命令行外壳程序和脚本环境,它内置在每个受支持的Windows版本中(Windows 7/Windows 2008 R2和更高版本),使命令行用户和脚本编写者可 ...
- angular 中嵌套 iframe 报错
错误如下 Error: unsafe value used in a resource URL context at DomSanitizationServiceImpl.sanitize... 解决 ...
- 【盘它!】那些让效率MAX的工具和方法(Mac篇)
一.前言 人类之所以伟大,是因为会创造并使用工具! 工欲善其事必先利器.高效的工具和方法不仅能最大化 节省我们的时间,还可以一定程度上让我们 保持专注,以达到 事半功倍 的效果. 但仅仅有工具不会使用 ...
- 原来rollup这么简单之 rollup.watch篇
大家好,我是小雨小雨,致力于分享有趣的.实用的技术文章. 内容分为翻译和原创,如果有问题,欢迎随时评论或私信,希望和大家一起进步. 大家的支持是我创作的动力. 计划 rollup系列打算一章一章的放出 ...
- 如何编写shellcode
ShellCode的编写就是将函数或变量在内存中的间接地址改为函数或变量在内存中的直接地址,直接调用! 以MessageBox函数为例进行讲解如下 新建shellcode.cpp: 编写代码如下: 运 ...
- 关于PS切图
现在前端项目中碰到越来越多的图片处理问题,虽然找自己公司UI小哥哥小姐姐可以解决,但是每次都找不仅要看别人有没有时间,更得看人家脸色 唉,自己摸索着来吧(多图,流量党请注意切换WiFi): 通常切图的 ...