Git创建本地仓库(2)
GitHub创建仓库
1.登录到GitHub的官网(https://github.com)进行账号注册。
点击Sign up按钮进行注册
2.注册完毕之后进行登录,点击Sign in进行账号登录
3.创建repository库
点击New repository进入创建仓库的页面,如下图:
注:Public为公开任何人都可以查看,Private为私密只有自己可以查看和操作。操作者根据自己的情况进行选择。
新建仓库完毕之后,下面有Git仓库的常用操作指令。(这些指令需要在Git客户端上进行操作,下面是进行Git客户端的安装)
git init
//把这个目录变成Git可以管理的仓库
git add README.md
//文件添加到仓库
git add .
//不但可以跟单一文件,还可以跟通配符,更可以跟目录。一个点就把当前目录下所有未追踪的文件全部add了
git commit -m "first commit"
//把文件提交到仓库
git remote add origin git@github.com:wangjiax9/practice.git
//关联远程仓库
git push -u origin master
//把本地库的所有内容推送到远程库上
安装Git客户端
1.进入官方网址(http://git-scm.com/download/),根据自己电脑情况下载合适的版本。
设置ssh key
1.什么是ssh key?
ssh key是加密传输。
加密传输的算法有好多,git使用rsa,rsa要解决的一个核心问题是,如何使用一对特定的数字,使其中一个数字可以用来加密,而另外一个数字可以用来解密。这两个数字就是你在使用git和github的时候所遇到的public key也就是公钥以及private key私钥。
其中,公钥就是那个用来加密的数字,这也就是为什么你在本机生成了公钥之后,要上传到github的原因。从github发回来的,用那公钥加密过的数据,可以用你本地的私钥来还原。
2.绑定用户信息
因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个表示,用户和邮箱是自己GitHub注册的账号和邮箱。
3.生成ssh key
如果你的key丢失了,不管是公钥还是私钥,丢失一个都不能用了,解决方法也很简单,重新再生成一次,然后在github.com里再设置一次就行
生成KEY的命令如下:
$ cd ~/.ssh
$ ssh-keygen -t rsa -C"emailaddress"(emailaddree此处填写你自己的邮箱地址)
执行成功后会生成如下文件:
id_rsa.pub
就是我们待会需要的公钥文件,使用命令 cat id_rsa.pub
再将内容复制到剪切板,然后进入github账号设置里面粘贴,或者进入公钥文件对应的文件夹,用记事本打开id_rsa.pub文件,我是使用Notepad++打开的
4. 配置ssh key
切换到github,展开个人头像的小三角,点击Settings
接下来打开SSH and GPG keys菜单, 点击New SSH key新增密钥,填上标题,尽量跟仓库保持一致,好区分。将id_rsa.pub文件中key粘贴到此,最后Add key生成密钥。
秘钥设置完成
创建本地仓库
1.创建本地项目
新建一个文件夹用来保存本地仓库的文件。文件夹中可以随意创建一个文件,不可为空文件夹(也可以是自己的初始项目文件)。我这里是进行上传的测试。
2.建立本地仓库
首先进入open文件中(进入项目中),执行 git init
进行仓库初始化
可以看到后缀变成了master,然后在看文件夹里多了一个隐藏的.git文件这里面都是配置文件,最好不要更改。
加到仓库,执行指令: git add .
(add和.之间有一个空格)
最后,把文件提交到仓库,双引号内是提交注释。执行指令: git commit -m "这里是注释信息"
我测试的时候写的是第一次上传
然后在用 git status
查看状态,这样就是提交完成了。不显示任何文件了。
总结:
查看状态:
git status
查看本地文件和暂存区
提交暂存区:git add [file name]
把新建或修改的文件提交到暂存区,通过add提交的
这里是给你一个撤回的机会,使用:git rm –cached [file name]
进行撤回修改。
提交到本地仓库:git commit –m “备注” [file name] 讲暂存区的内容提交到本地仓库。
注意:
新建的文件必须使用add进行提交,但是已经提交过一次的文件进行修改可以直接commit到本地仓库但是不能进行撤回了。
3.关联上传GitHub仓库
进入github中的新建好的仓库
复制仓库地址
然后执行 git push -u origin master
进行push操作,目前只有master这一个分支 后面跟的就是你的分支名字。
显示从master推送到master。
远程仓库显示first.txt 推送成功。