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查看设置是否成功

六、参考资料

搭建环境-git常见使用总结的更多相关文章

  1. Pull Request的过程、基于git做的协同开发、git常见的一些命令、git实现代码的review、git实现版本的管理、gitlab、GitHub上为开源项目贡献代码

    前言: Pull Request的流程 1.fork 首先是找到自己想要pull request的项目, 然后点击fork按钮,此时就会在你的仓库中多出来一个仓库,格式是:自己的账户名/想要pull ...

  2. 内部开发环境 git代码托管说明

    前言 随着员工的增加 代码的开发版本管理 提上了日程.初步计划: 1 一台机器 192.168.1.240 git代码版本管理 2 运行环境 192.168.1.241 内部开发运行环境 软件工程师 ...

  3. 关于git常见的一些问题

    本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 Mark一下,最近用的比较少,担心忘记了. 作为一个程序员,git或者SVN是必备技能,尤其是 ...

  4. Java基础笔记(1) 语言 JAVA的历史 Java的搭建环境

    本文除了搭建是重点,其他的都当阅读小说一样去看就好了,不想看可以直接抓住重点,我会改变颜色勾出重点! 英语是人与人交流沟通的重要方式之一.JAVA:是人与计算机沟通交流重要方式之一.我们除了用java ...

  5. 使用Gitblit 搭建Windows Git服务器

    使用Gitblit 搭建Windows Git服务器 整理使用Gitblit搭建Git服务器的步骤. 目录 使用Gitblit 搭建Windows Git服务器 目录 下载安装 配置 运行 客户端运行 ...

  6. java学习第01天(搭建环境配置)

    搭建环境配置分为3个步骤 1.下载并安装 jdk使用1.8.0_151版本,下载地址(包含32位和64位):链接:https://pan.baidu.com/s/1qZau8oO 密码:0t5o 2. ...

  7. 利用阿里云搭建私有Git服务器

    服务器系统:Centos 6 (查看centos版本命令:lsb_release -a) 客户端系统:Windows 7 一.服务器端安装Git ==通常centos上使用yum源安装的git版本过低 ...

  8. [Laravel] mac下通过 homestead 搭建环境 到运行项目

    seven_Android 关注 2017.07.03 21:33* 字数 2240 阅读 3464评论 10喜欢 9 之前学习过一段时间的 Laravel ,换 mac 后一直没空做相关的事情,而且 ...

  9. 在阿里云上搭建私有GIT仓库

    在阿里云上搭建私有GIT仓库 年轻人就得好好学习,不能这么颓废 最近做项目练练手,用到了github, 但是github访问速度是真的慢啊,下载项目,下载一天了.所以呢,我是个成熟的人了,只好自己搭建 ...

随机推荐

  1. 使用ASP.NET MVC 5快速实现芒果分销后台管理系统(前言)

    ### 前言 在前一篇文章中,我提到最近要陆续为大家写一些.Net实战技术文章.从今天起,我将围绕一个入门级现实的芒果分销管理系统案例,使用ASP.NET MVC 5,从前端到后端,一步一步为大家呈现 ...

  2. Spring生命周期详解

    导读 Spring中Bean的生命周期从容器的启动到停止,涉及到的源码主要是在org.springframework.context.support.AbstractApplicationContex ...

  3. Python - 面向对象(一)入门篇

    Python里面有一句话:万物皆是对象 如何面向对象编程 设计类 创建类实例对象 实例对象调用方法 创建对象 在内存中为对象分配空间 调用初始化方法  __init__  为对象初始化 对象创建后,内 ...

  4. 在一台Linux服务器上安装多个MySQL实例(一)--使用mysqld_multi方式

    (一)MySQL多实例概述 实例是进程与内存的一个概述,所谓MySQL多实例,就是在服务器上启动多个相同的MySQL进程,运行在不同的端口(如3306,3307,3308),通过不同的端口对外提供服务 ...

  5. 手把手教你用java实现syslog消息的收发,学不会你打我喽!

    大家好,我是道哥,专注于后端java开发,喜欢写作和分享.如果觉得文章对你有用,那就点个赞呗!如果能转发那是对道哥最大的支持! syslog的定义 见文知义,syslog,从英文名字上可以看出是指系统 ...

  6. PHP之从反向删除单链表元素的问题谈起

    在完成一个单链表的删除指定元素的题目中,我发现了一件神奇的事情,php对象赋值给另外一个变量后,可以如同引用传值一般继续利用新的变量来实现链表的链接. 后面经过查证后发现: PHP7.0版本除了对象, ...

  7. Springboot CORS跨域访问

    Springboot CORS跨域访问 什么是跨域 浏览器的同源策略限制: 它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web是构建在同源策略基础 ...

  8. C#获取设备话筒主峰值(实时音频输出分贝量)

    1.引用类库NAudio,Git地址 https://github.com/naudio/NAudio 2.添加如下代码和引用: public float GetVoicePeakValue() { ...

  9. deepin 系统 ssh,samba,redis,取消开机密码等相关配置

    ssh安装 sudo apt-get install openssh-server service ssh start ssh root 用户登入配置 安装完毕,运行命令"sudo vi / ...

  10. MYSQL_批量更新

    UPDATE categories SET display_order = CASE id WHEN 1 THEN 3 WHEN 2 THEN 4 WHEN 3 THEN 5 END, title = ...