git与github使用教程

git与github使用教程

git与github使用教程
在Windows上安装Git
1.Git官网直接下载安装程序,然后按默认选项安装即可。
2. 安装完成后,在开始菜单里找到“Git”->“Git Bash”,出现一个类似命令行窗口的窗口,就说明Git安装成功!
git与github使用教程 3.Git是分布式版本控制系统,每个机器必须自报家门:名字和Email地址。
$ git config --global user.name “Your Name”
$ git config --global user.email “Your Email”

创建版本库
版本库又名仓库,英文名repository,可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
1.创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:
$ mkdir test
$ cd test
$ pwd
git与github使用教程2.通过git init命令把这个目录变成Git可以管理的仓库:
$ git init
git与github使用教程瞬间Git就把仓库建好了,并提示这是一个空的仓库(empty Git repository),当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然就把Git仓库给破坏了。
git与github使用教程3.新建一个readme.txt文本:
$ vi readme.txt
git与github使用教程增加内容,并保存:
Git is good system.
git与github使用教程4.把文件添加到仓库暂存区:
$ git add readme.txt
git与github使用教程5.把文件提交到仓库:
$ git commit -m “first time commit readme.txt”
git与github使用教程解释一下git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,最好是有意义的,这样你就能从历史记录里方便地找到改动记录。

git commit命令执行成功后会告诉你,1 file changed:1个文件被改动(我们新添加的readme.txt文件);2 insertions:插入了两行内容(readme.txt有两行内容)。

commit可以一次提交很多文件,所以你可以多次add不同的文件:
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m “add 3 files.”

版本回退
1.增加内容,并保存:
Git is verry good system.
git与github使用教程
2.尝试提交readme.txt文件:
$ git add readme.txt
$ git commit -m “second time commit readme.txt”
git与github使用教程像这样,你不断对文件进行修改,然后不断提交修改到版本库里,一旦你把文件改乱了,或者误删了文件,还可以从最近的一个commit恢复,然后继续工作,而不是把几个月的工作成果全部丢失。
3.在Git中,我们用git log命令查看提交历史记录:
git与github使用教程git log命令显示从最近到最远的提交日志,我们可以看到2次提交,最近的一次是first time commit readme.txt,上一次是second time commit readme.txt。

更多命令:

简化查看log 提交日志:
$ git log --pretty=oneline

退回版本:
在Git中,用HEAD表示当前版本,如上面最新的提交5ad0c06…,上一个版本就是HEAD ^,上上个版本就是HEAD ^ ^,当然往上100个版本写100个 ^ 数不过来,所以写成HEAD~100。
$ git reset --hard HEAD^
HEAD is now at 48ce08b add distributed

$ git reset --hard 5ad0c
HEAD is now at 5ad0c append GPL

查看Git命令记录:
$ git reflog

查看Git状态:
$ git status

丢弃工作区的修改:
git checkout – file //file为需要丢弃修改的文件

把暂存区的修改撤销掉:
git reset HEAD //file为需要丢弃修改的文件

工作区域暂存区
工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
git与github使用教程第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;

第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。

git与github协作
现在已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作。
(请事先在https://github.com申请一个github账号)

1.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
$ ssh-****** -t rsa -C “[email protected]

你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
git与github使用教程红框就是id_rsa和id_rsa.pub两个文件存储路劲,可以到相应文件找到这两个文件。
git与github使用教程
2.登陆GitHub,打开“Account settings”,“SSH Keys”页面:
git与github使用教程
然后点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:
git与github使用教程点“Add Key”,你就应该看到已经添加的Key:
git与github使用教程为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。

当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

最后友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放进去。

如果你不想让别人看到Git库,有两个办法,一个是交点保护费,让GitHub把公开的仓库变成私有的,这样别人就看不见了(不可读更不可写)。另一个办法是自己动手,搭一个Git服务器,因为是你自己的Git服务器,所以别人也是看不见的。这个方法我们后面会讲到的,相当简单,公司内部开发必备。

确保你拥有一个GitHub账号后,我们就即将开始远程仓库的学习。

3.github添加远程库
git与github使用教程按上面顺添加你的工程,请特别留意“注意”这里:点击选择,就会在github工程里默认添加一个readme.txt文件,后续想把git上的文件push到github前,要先用命令git clone更新一下本地git的文件,否则push会失败。(建议push前用git clone命令更新本地git文件,以避免push出错)
git与github使用教程在GitHub上的这个ltest仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。

4.在本地git的test仓库下运行命令:
$ git remote add origin https://github.com/mworkfun/test.git

等待完善!!!!