运用GitHub(二):设置并运用Git竖立版本库
- 本文简朴引见运用GitHub对代码举行版本掌握,包含增加SSHkey、设置Git、运用Git竖立版本库并在GitHub上举行治理,重要目标是对进修内容举行总结以及轻易往后查阅。
- 细致教程和道理能够参考廖雪峰的Git教程或猴子都能看懂的Git教程。
- 本文版权归马涛涛一切。
- 本文所援用的图片和文字版权归原作者一切,侵权删。
- 若有毛病请在下方批评区指出,迎接主动议论。
设置Git
git config --global user.name 你的英文名
git config --global user.email 你的邮箱
git config --global push.default matching
git config --global core.quotepath false
git config --global core.editor "vim"
五句话,顺次运转。
运用Git竖立版本库
运用 git 有三种体式格局,请根据需求挑选。
- 只在当地运用
- 将当地堆栈上传到 GitHub
- 下载 GitHub 上的堆栈
个中1+2的终究结果=3
1只在当地运用
1.1 初始化
- 竖立目次作为我们的项目目次:
mkdir git-demo-1
- 进入目次
cd git-demo-1
-
git init
,这句敕令会在git-demo-1
里竖立一个.git
目次 -
ls -la
你就会看到.git
目次,它就是一个「堆栈」,不要进去看。 在
git-demo-1
目次内里增加恣意文件,假定我们增加了两个文件,分别是index.html
和css/style.css
touch index.html mkdir css touch css/style.css
运转
git status -sb
能够看到文件前面有??
号touch index.html mkdir css touch css/style.css
这个 ??
示意 git不知道你要怎样看待这些更改。
- 运用
git add
将文件增加到「暂存区」 你能够一个一个地 add
git add index.html git add css/style.css
你也能够一次性 add
git add .
意义是把当前目次(.示意当前目次)内里的更改都加到「暂存区」
- 再次运转
git status -sb
,能够看到??
变成了 A
## Initial commit on master
A css/style.css
A index.html
A 的意义就是增加,也就是说你通知 git,这些文件我要加到堆栈里
- 运用
git commit -m "信息"
将你 add过的内容「正式提交」到当地堆栈(.git
就是当地堆栈),并增加一些解释信息,轻易往后查阅 - 你能够一个一个地 commit
git add index.html
git add css/style.css
你也能够一次性 commit
git commit . -m "增加了几个文件"
- 再再次运转
git status -sb
,发明没有文件更改了,这是因为文件的更改已记录在堆栈里了。 - 这时刻你运用
git log
就可以够看到汗青上的更改:
- 再再次运转
commit f0d95058cd32a332b98967f6c0a701c64a00810a
Author: frankfang <frankfang1990@gmail.com>
Date: Thu Sep 28 22:30:43 2017 +0800
增加几个文件
- 以上就是
git add
/git commit
的一次完全历程。
1.2 文件更改
如果我想继承改文件,应当怎样做呢?
-
start css/style.css
会运用默许的编辑器翻开css/style.css
(macOS 上对应的敕令是open css/style.css
) - 然后我们在
css/style.css
里写入body {background: red}
,保留退出 - 运转
git status -sb
发明提醒中有一个M
## master
M css/style.css
这个 M
的意义就是 Modified,示意这个文件被修改了
此时你如果想让修改保留到堆栈里,你须要先
git add css/style.css
或许也能够git add .
注重:因为这个
css/style.css
之前被我们 add 过,你往文章上面看,我们是 add 过
css/style.css
的,所以此处的 git add操纵能够省略,但我发起你运用 git 的前一个月,不要省略 git add。换句话说,每一次修改,都要经由
git add
和git commit
两个敕令,才被增加到 .git 当地堆栈里。- 再次运转
git status -sb
发明 M 有赤色变成了绿色。 - 运转 git commit -m` “更新 css/style.css”,这个修改就被提交到 .git 当地堆栈了。再说一次,不要去 .git 目次内里。
- 再再次运转
git status -sb
,会发明没有变动了,这说明一切更改都被当地堆栈记录在案了。
git status -sb
是什么意义:git status
是用来显现当前的文件状况的,哪一个文件更改了,轻易你举行git add
操纵。
-s
的意义是显现总结(summary)-b
的意义是显现分支(branch)- 所以
-sb
的意义是显现总结和分支。
1.3 总结
至此,我们来总结一下用到的敕令
-
git init
,初始化当地堆栈.git
-
git status -sb
,显现当前一切文件的状况 -
git add 文件途径
,用来将更改加到暂存区 -
git commit -m "信息"
,用来正式提交更改,提交至.git
堆栈 如果有新的更改,我们只须要顺次实行
git add xxx
和git commit -m 'xxx'
两个敕令即可。别看本教程空话那么多,实在就这一句有效!先 add 再 commit,行了,你学会 git 了。
-
git log
检察变动汗青
2 将当地堆栈上传到 GitHub
怎样将我们这个 git-demo-1 上传到 GitHub 呢?
- 在 GitHub 上新建一个空堆栈,称号随便,平常能够跟当地目次名一致,也叫做
git-demo-1
根据截图所示,除了堆栈名,其他的什么都别改,如许你才竖立一个空堆栈
- 点击竖立按钮以后,GitHub 就会把后续的操纵全通知你,如图
请点击一下 ssh 点击一下 ssh,你就会运用默许的 HTTPS 地点。然则万万不要运用 HTTPS 地点,因为 HTTPS地点运用起来迥殊贫苦,每次都要输入暗码,而 SSH 不必输入用户名暗码。
为什么 SSH 不必暗码呢,因为你已上传了 SSH public key。详情请看上一篇博文运用GitHub(一)
因为我们已有当地堆栈了,所以图中下面半部份就是你须要的敕令,我们一行一行拷贝过来实行
- 再次点击 SSH 按钮
- 敕令
git remote add origin git@github.com:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/git-demo-1.git
,复制并运转它 - 复制第二行
git push -u origin master
,运转它 - 革新当前页面,你的堆栈就上传到 GitHub 了.
在竖立空库的情况下,以上两步在当地建一个Git堆栈和将Git堆栈上传到GitHub上加起来就等同于下面的第3条。
3 直接在 GitHub 竖立一个堆栈,然后下载到当地
上面两步讲了
- 在当地竖立堆栈
- 将当地堆栈上传到 GitHub
这里讲第三种用法,那就是直接在 GitHub 竖立一个堆栈,然后下载到当地
- 在GitHub 上新建一个堆栈
git-demo-2
,此次就不竖立空堆栈了,而是自带README
和Lisence
的堆栈,竖立截图以下:
然后点击竖立按钮。
- 如许一来,这个堆栈就会自动具有三个文件:
- 运用
git clone
敕令下载到当地 - 点击页面中唯一的绿色按钮「clone or download」,会看到一个弹出层
> 请确保弹出层里的地点是 SSH 地点,也就是 git@github.com 开首的地点,如果不是,就点击 Use SSH 按钮,就**点击
> Use SSH 按钮**。然后复制这个地点。
- 翻开 Git Bash,找一个平安的目次,比方
~/Desktop
。
运转 git clone 你适才获得的以git@github.com开首的地点
,运转完了你就会发明,桌面上多出一个 git-demo-2
。
-
cd git-demo-2
进入这个目次。 - 运转 ls -la 你会看到,长途目次的一切文件都在这里涌现了,别的你还看到了
.git
当地堆栈。这时刻你就可以够增加文件,git add,然后 git commit 了。
三种体式格局都说完了,它们分别是:
- 在当地竖立堆栈
- 将当地堆栈上传到 GitHub
- 下载 GitHub 上的堆栈到当地
实在呢,另有很多种差别的体式格局,然则,记着这几种就好了,够用了。我们并不想要相识 git 的一切高等用法,我们的目标很明白:能经由过程 Git
敕令运用 GitHub 就行
总结:
回忆一遍已学到的敕令:(此次只多了一个 git clone 敕令)
-
git clone git@github.com:xxxx
,下载堆栈 -
git init
,初始化当地堆栈 .git -
git status -sb
,显现当前一切文件的状况 -
git add 文件途径
,用来将更改加到暂存区 -
git commit -m "信息"
,用来正式提交更改,提交至 .git 堆栈 如果有新的更改,我们只须要顺次实行
git add xxx
和git commit -m 'xxx'
两个敕令即可。别看本教程空话那么多,实在就这一句有效!先 add 再 commit,行了,学会 git 了。
-
git log
检察变动汗青
怎样上传更新
你在当地目次有任何更改,只需根据以下递次就可以上传:
git add 文件途径
git commit -m "信息"
git pull (肯定不要遗忘这一个敕令)
git push
为什么要push之前要pull?
push是推送,
pull是拉取的意义。如果你在远端修改了文件,然后当地并没有同步更新,这时刻候你push的时刻就会涌现毛病,因为两头差别步了。多人协作的时刻这类题目就会涌现的更多,所以如今养成push之前要pull的习气。
下面是例子
cd git-demo-1
touch index2.html
git add index2.html
git commit -m "新建 index2.html"
git pull
git push
然后去 git-demo-1
的 GitHub 页面,就可以看到 index2.html
涌如今内里了。