github初体验html
1 建立远程仓库
登陆github https://github.com/ 创建一个新的存储库:点击new repositoriesgit
a ,在Repository name处填入仓库名字,例如hellogit,选择b不是公开的).b, 在Description处能够对这个远程仓库写一个描述(可选),c, 选中Initializethis repository with a README,这样GitHub会自动为咱们建立一个README.md文件。d, 点击create repository按钮便成功建立了一个远程仓库。github
2 从远程clone一个仓库/repository分布式
用git clone命令克隆一个本地库。a, 在本地建一个空文件夹(文件名英文),例如testgit,鼠标右键,选择Git Bush here,输入命令 $ git clone git@github.com:xiakejie/hellogit.git 网站
打开咱们刚克隆的远程仓库,里面有一个README.cd文件,用notepad++打开可看到文件内容,同咱们github是同样的(notepad++是一个文本阅读器,下载连接:https://notepad-plus-plus.org...this
git初体验spa
1 建立版本库3d
本地电脑建立一个空目录(英文命名),例如localgit,空目录下鼠标右键,选择Git Bush here,运行下列命令版本控制
这样,咱们便在本地建立了一个名为loacalgit的版本库(仓库)htm
2 给版本库添加文件
上步建立的版本库是空的。如今咱们在loacalgit版本库添加一个文件,是的,就在本地loacalgit版本库目录下新建一个文本文件,例如filegit.txt,用notepad++打开,随意编辑一些内容保存。
如今filegit.txt只是咱们本地的一个文件,但他在localgit版本库内,版本库内的全部文件均可以被git管理起来,那么咱们就能够将filegit.txt文件添加到版本库了。首先,将文件添加到版本库。注意我图片的目录
而后将filegit.txt文件提交到版本库,一样在刚才的目录下
命令中的-m 是对本次提交的一个说明。
3 浅析$ git add <file> 与$ git commit
上节咱们知道提交文件是分两步的,那么add commit分别做用的对象是什么呢?git既然做为分布式版本控制系统,那我理解的分布应该这里算是吧。git在提交文件时,是分步提交的,第一步也就是git add是把‘修改’的文件从“工做区”提交到暂存区,第二步也就是git commit是把暂存区‘全部’修改的文件提交到“当前分支”。工做区就是指咱们本地的文件夹,分支是在建立版本库时$ git init后git为咱们自动建立的分支master(往上翻图能够看见)。
熟能生巧,再来一次。$ git status查看工做区状态。新建一个文件,secondfile.txt。随意编写内容。为filegit.txt增长一句内容。更改文件内容,但没有提交到暂存区,咱们能够观察到本地文件管理器中文件的特征符号是这样的:
$git status查看工做区状态
运行命令后咱们能够看到,未提交的更改filegit.txt和没有跟踪的secondfile.txt文件(Git了解secondfile.txt的存在但没有指示跟踪该文件)。仔细观察,git给予咱们操做提示('use')。此时针对filegit.txt,咱们能够$ git add <file>将其从工做区提交到暂存区,也能够$ git checkout -- <file>放弃工做目录的修改(将修改删除,使filegit.txt回到未更改前状态。当你不想要此修改时,能够执行此命令).这里咱们先$ git checkout --filegit.txt
$ git checkout -- <file>
做用,未$ git add前,放弃工做区的修改
咱们继续看$ git status。再次更改filegit.txt内容。
运行命令$ git status
这下咱们便把两个文件都提交到暂存区,而且都提交到了分支,注意观察本地filegit.txt文件的图标的!也不见了。咱们再次运行$ git status
提示信息说明工做区是干净的(你没有修改工做区)。
4 git 强大的管理功能
咱们按照一个文件的生命历程来循迹。所谓的管理功能,咱们暂时理解为容错功能吧。
git add前
git checkout -- <file>————这时filegit.txt就像一个小孩刚出生,爱怎么闹就怎么闹,大人容许你犯无数的错。此时,就像写word文档同样,在你本地,想怎么改就怎么改。另外一种状况以前讲过,就是filegit.txt在本地修改了,而且在本次修改前git add过,你想一键还原到上次git add前的样子,那么git提供git checkout -- <file>容许你一键还原。
git add后git commit前
git reset HEAD <file>————咱们在filegit.txt增长一些文本,并把filegit.txt提交到暂存区。此刻发现增长的文本有错误,怎么办。git add以后表明着修改了暂存区中filegit.txt,git reset HEAD <file>能够将暂存区的修改撤销,至关你这次没有git add
$ git diff HEAD -- <file>————用来查看工做区和最新版本库的区别。此时git reset HEAD后,暂存区“等于”最新版本库,从图得知工做区比暂存区/版本库多了一行"git add后git commit前"
git commit后
$ git reset -- hard HEAD~n——回退至n版本,HEDA表明当前最新版本,HEAD^表明上一版本,HEAD^^带表上上版本。此时咱们将'git add后git commit前'刚才这一修改提交到分支后发现,应将修改错误,正确的修改应该是'git commit后'。执行$ git reset -- hard HEAD^回退至上一版本,从新修改提交。
从图片中咱们能够清楚看到先后变化。
关联远程库github
1 本地仓库关联远程仓库
在朝阳篇咱们已经知道如何在github网站建立一个仓库。如今咱们在github上建立一个仓库——remotegit。咱们将这个远程仓库与咱们以前建的localgit关联。
在本地localgit目录下运行命令:$ git remote add origin git@github.com: xiakejie/remotegit.git把本地库内容推送到远程$ git push -u origin master(-u 实在你第一次推送时用)之后便用后面这条命令$ git push origin master。本地库关联是一样注意目录,不清楚看下图,xiakejie是个人帐户,实验时换成本身的
这时登陆github网站,即可看到在remotegit仓库与本地库内容同样。
关联远程库几个注意点
1,前提是你本地已有一个git可管理的仓库,何为git可管理,即你本地的文件夹或文件图标有蓝色的对勾。
2,建立远程仓库时(注,紧贴该文字正数第二张图片,是“关联远程仓库几个注意点”内容上面的图片)
3,点击建立按钮,进入到下一步,能够看到github给咱们三个提示。咱们选择第二个。点击图中黄色区域,将命令复制,粘贴到git命令窗口。接着你就能够$ git add filename,$ git commit -m '',git push origin master等命令提交你本地文件了。这时连同你本地文件的目录一块同步到远程。
至此咱们便讲完了git与github上午篇