Project Management

Stella981
• 阅读 609

如何通过Git使用GitHub

——PM曾子轩

从未使用过Git


一、从官网下载Git

  此部分略

二、用Git连接上GitHub(为保持完整性,此部分引用博客:https://www.cnblogs.com/blogzhangwei/p/5944975.html)

  1、创建一个SSH KEY

    打开Git Bash,输入:

$ ssh-keygen -t rsa -C "your_email@example.com"

    之后命令行提示你输入文件名以保存此Key,推荐使用默认名(此时直接输入回车):

Generating public/private rsa key pair.
# Enter file in which to save the key (/c/Users/you/.ssh/id_rsa):

    接着又会提示你输入两次密码(该密码是你push文件的时候要输入的密码,而不是github管理者的密码,之后每一次进行 git push 操作时都会要求输出此密码):

Enter passphrase (empty for no passphrase): 
# Enter same passphrase again:

    接下来,就会显示代码提示(不唯一):

Your identification has been saved in /c/Users/you/.ssh/id_rsa.
# Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.
# The key fingerprint is:
# 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com

    如果显示成功,说明SSH KEY创建成功,Git操作告一段落

  2、把 SSH KEY 添加到 Git Hub 上:

    首先你需要拷贝 id_rsa.pub 文件的内容,你可以用编辑器打开文件复制,也可以用git命令复制该文件的内容(文件名根据自己的设置而定,此处假设之前为默认设置文件名):

$ clip < ~/.ssh/id_rsa.pub

    登录 Git Hub ,右上角头像处选择 Settings ,在 Personal Settings 列表中选择 SSH and GPG keys,在 SSH 一栏复制粘贴烂数据,结束创建。

  3、测试SSH KEY   

    在git Bash 中输入以下代码

$ ssh -T git@github.com

    当你输入以上代码时,会有一段警告代码,如:

The authenticity of host 'github.com (207.97.227.239)' can't be established.
# RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
# Are you sure you want to continue connecting (yes/no)?

    这是正常的,你输入 yes 回车既可。如果你创建 SSH key 的时候设置了密码,接下来就会提示你输入密码,如:

Enter passphrase for key '/c/Users/Administrator/.ssh/id_rsa':

    当然如果你密码输错了,会再要求你输入,知道对了为止。

    注意:输入密码时如果输错一个字就会不正确,使用删除键是无法更正的。

    密码正确后你会看到下面这段话,如:

Hi username! You've successfully authenticated, but GitHub does not
# provide shell access.

    如果用户名是正确的,你已经成功设置SSH密钥。如果你看到 “access denied” ,者表示拒绝访问,那么你就需要使用 https 去访问,而不是 SSH 。

第一次克隆远程仓库


  1、在本地创建文件夹,比如在E盘下创建Git_Repo文件夹。

  2、在Git中选中此文件夹:

cd E:\Git_Repo

  3、克隆远程仓库

    现在我们项目的 GitHub 地址为git@github.com:DeltaFishSoftware/manage.git

git clone git@github.com:DeltaFishSoftware/manage.git

    输入密码后,远程仓库数据复制到了Git_Repo中,因为我们的仓库名为manage,所以我们之后的每一个操作都要在manage目录之下进行,要更换目录:

cd manage

第二次及以后克隆远程仓库


  1、首先打开创建的目录

cd E:\Git_Repo\manage

  2、执行pull命令即可,在多人编程中需要频繁地进行pull命令进行更新,以防止遗漏掉他人已经作出的更改(你之前所pull的为他人push前的数据,那么你push的时候就会忽视掉他人作出的更改,所以应该事前作出约定):

git pull

  3、上传更改、添加(假如你在manage/controller下创建了文件README.txt):

cd controller                    //首先进入此文件所在目录
git add README.txt            //加入缓存区
git commit -m "Your comment about the changes you made"
                                //将缓存区提交,并在双引号中加入你的描述
git push                        //提交

  4、移除(假如你移除了manage/controller下的文件README.txt):

git commit -m "Your comment about the changes you made"
                                //将缓存区提交,并在双引号中加入你的描述
git push                        //提交

完成一次提交流程的范例


git status    //一般步骤为,检查init的git仓库的文件是否有修改  
git diff         //如果有修改就查看修改的地方是不是正确的       
git add <file>//如果修改正确的就提交的中转站                   
git status    //不清楚是否正确提交到中转站                    
git commit <file> -m "string"    //如果正确就再提交到仓库确保代码正常
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
前端尾随者 前端尾随者
2年前
sourceTree 添加 ssh key 方法
1.使用git客户的生成公私钥:id\rsa、id\rsa.pub1.1设置Git的username和email:$gitconfigglobaluser.name"xxx"$gitconfig\globaluser.email"xxx.mail@xxx.com"1.2.生成SSH密钥过程:1.2.1.检查是不是已经存在密钥(
Wesley13 Wesley13
3年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这