git配置连接github以及使用笔记

本文主要描述 git 配合 github 使用。
首先是下载安装 git 环境,具体过程不必细说,三大操作系统都有对应版本。下面是官网地址:
https://git-scm.com/download/

(1)配置git

a) 产生密钥

[user]$ssh-keygen –t rsa –C  'github注册邮箱地址'
//之后连按两次回车

注释:ssh-keygen之间是没有空格的,其他的之间是有空格的
回车之后,会出现一行,让你输入一个保存密钥的地方,括号里面是它默认的位置,可以在冒号后面自己写一个位置保存。 之后它生成两个一个叫id_rsa,一个叫id_rsa.pub,我这么做了之后,发现生成的密钥目录里少了一个文件known_hosts,如果按照默认的目录的话是有这个文件的,如果没有这个文件,后序出现了问题,因此,建议还是直接用他的默认路径就好,这里就不要自己填路径了,直接回车。
回车之后,会设置密码,我这里没有设置,直接点了回车两次,这样密钥就生成了,可以打开 id_rsa.pub 来查看,我使用的是记事本直接打开的这个文件,里面的所有内容就是这个密钥,一会需要使用的时候,就直接全选复制就可以了。除了邮箱地址,也可以直接cat命令查看。

b) 现在转到github网站上去配置一下ssh key

  1. 点击箭头指示图标 Account settings,然后点击左侧的SSH Keys,
  2. 之后点击右侧的 Add SSH Key,这样就会出现添加SSH Key的界面,
  3. 之后打开刚才生成的那个文件 id_rsa.pub ,全选复制里面的内容到Key这一栏中,点击Add Key按钮完成操作,

注释:这时你填的邮箱会收到一封确认的邮件,不用管它。

c) 验证是否连接github成功

在 bash下输入如下命令:

ssh –T git@github.com

如果你的是出现不是

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

这样的内容,而显示的是

Permission denied (publickey).

类似权限问题。那么你可以检查是否是我上面提到的那种情况,回顾一下生成密钥时操作是否正确、目录下是否有那个known_hosts这个文件。
如果不是操作问题,就可能是这里的采纳答案的问题,解决方法也就是执行一步命令:

[user]$ssh-add

其他问题请上网查询。
f) 现在配置一下用户名和邮箱:
git config –global user.name “github用户名”
git config –global user.email “github主邮箱”

(2)基本使用git

(a) 远端和本地建立repository

在github端创建一个repository,然后在本地进入项目的文件夹内,使用 命令 :

git  init  

作用:初始化后,在当前目录下会出现一个名为 .git 的目录,使得该文件夹成为git本地仓库

(b) 连接本地和远端的repository

$git remote add origin git@github.com:0lidaxiang/your repository.git    

(c)更新本地内容

git pull git@github.com:0lidaxiang/repository名称..git

(d)将本地文件纳入版本控制

即添加到本地暂存区中:

git add .

add后面加了一个点,是想要提交所有文件,如果想提交指定的文件,可以写文件名,执行完增加命令后,要执行提交命令,如下:

git commit –m “v1.0版本”

-m后面跟提示信息,这个提示信息是一定要写的,不仅是规则,同时也方便我们记录我们提交的过程.

(e)提交本地更改到远端

提交完成后,我们就要把它推送到远程仓库上去了,命令如下:

git push git@github.com:0lidaxiang/仓库(repository).git

(3)其他 git 使用

(a) 检查当前暂存区状态

$ git status

正常结果应该显示工作目录相当干净。换句话说,当前没有任何跟踪着的文件,也没有任何文件在上次提交后更改过。

(b)使提交时忽略某些文件

通过更改gitignore文件使得提交时忽略某些文件, gitignore文件类似于:

*.[oa]
*~        # 此为注释 – 将被 Git 忽略
*.a       # 忽略所有 .a 结尾的文件(一般是编译过程的临时文件)
!lib.a    #  lib.a 除外
/TODO     # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/    # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

文件 .gitignore 的格式规范如下:
1. 所有空行或者以注释符号 # 开头的行都会被 Git 忽略。
2. 可以使用标准的 glob 模式匹配。 ’ * ’ 匹配模式最后跟反斜杠 ’ / ’ 说明要忽略的是目录。
3. 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号 ’ ! ’ 取反。

(c)删除文件

$git rm \*~  

(d) clone项目

$git clone git://github.com/schacon/simplegit-progit.git

(e) 查看所有历史

$git log

查看最近的两次更新历史:

$git log -p -2

(f) 撤销操作

$git commit --amend

参考文章

http://www.open-open.com/lib/view/open1328069733264.html
http://www.open-open.com/lib/view/open1423810370232.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值