如何通过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:
# :0f:f4:3b:ca::d6::a1:7d:f0::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" //如果正确就再提交到仓库确保代码正常

Project Management -- How to use GitHub with Git的更多相关文章

  1. Github 与Git pages

    基础git命令 设置username,email $ git config --global user.name "your name" $ git config --global ...

  2. AndroidStudio中利用git下载github或者git.oschina的代码时报错:repository test has failed解决方法

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 微博:http://weibo.com/mcxiaobing AndroidS ...

  3. github的git.exe的目录所在

    github的git.exe位于 C:\Users\[username]\AppData\Local\GitHub\PortableGit_25d850739bc178b2eb13c3e2a9faaf ...

  4. The Simplified Project Management Process

    One of the challenges of explaining project management to people who are unfamiliar with the approac ...

  5. Project Management Process

    Project Management ProcessDescription .............................................................. ...

  6. Introduction to Project Management(II)

    Introduction The purpose of this paper is to gain an understanding of project management and to give ...

  7. Introduction to Project Management(I)

    Project management in the modern sense began in the early 1950s, although it has its roots further b ...

  8. github及git使用

    一.github及git Github用于托管和协作项目的网站,git是通常与github一起使用的版本控制系统.Github上有上百万个开源项目,在使用git的时候每个开发人员都在他们的计算机上有一 ...

  9. 简介 - PMP(Project Management Professional)

    PMP(Project Management Professional) 官网(英文报名):https://www.pmi.org/ 中文注册:http://exam.chinapmp.cn/ Boo ...

随机推荐

  1. cin输入过慢用scanf???现在才知道cin可以加速

    今天才发现可以加速原帖 只需要两行放在main开头即可 ios_base::sync_with_stdio(0); cin.tie(NULL);

  2. 第五节:numpy之数组维度处理

  3. BZOJ 1230 Usaco2008 Nov 开关灯

    [题意概述] 给出一个01序列,初始时序列全为0,每次有修改操作或询问操作,修改操作要求把L~R区间中的0变成1,1变成0,查询操作要求输出L~R区间的1的个数 [题解] 线段树. 每次区间修改把区间 ...

  4. R语言为数据框添加列名或行名

    1.添加列名 wts=c(1,1,1) names(wts)=c("setosa","versicolor","virginica") 2. ...

  5. 洛谷—— P1092 虫食算

    https://www.luogu.org/problem/show?pid=1092 题目描述 所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母.来看一个简 ...

  6. 利用Date类计算生活时间

    今天学习到了Date类还有其他一些常用类! 这里就简单使用Date及其一些方法计算生活时间. import java.text.ParseException; import java.text.Sim ...

  7. 洛谷 P3496 [POI2010]GIL-Guilds

    P3496 [POI2010]GIL-Guilds 题目描述 King Byteasar faces a serious matter. Two competing trade organisatio ...

  8. PHP array_diff_ukey()

    定义和用法 array_diff_ukey() 返回一个数组,该数组包括了所有出现在 array1 中但是未出现在任何其它参数数组中的键名的值.注意关联关系保留不变.与 array_diff() 不同 ...

  9. [Windows]_[0基础]_[Release程序的崩溃报告minidump解决方式]

    场景: 1. Release的程序崩溃时,崩溃报告能够让开发者查明代码哪里出了问题,用处大大的. 2. 仅仅实用VS的编译器才支持,所以MinGW就无缘了. 3. 使用了未处理异常过滤处理函数. 4. ...

  10. POJ题目1947 Rebuilding Roads(树形dp)

    Rebuilding Roads Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 9957   Accepted: 4537 ...