Git 维基百科!
Git 维基百科!
Kimbleex时维七月,序属二夏。
最近要系统的用到github,大学里看它的时候也是走马观花,现如今书到用时方恨少。于是,在一个老前端两天的帮助下,我对github的了解也是得到了一些提升。现在系统的将github用法做一个汇总,以方便后续的学习。
此篇博客默认已经安装好Git
工具并配置好系统环境
1. 最先的配置操作
安装好git
后,首先需要配置git
的用户名和邮箱,这样在提交代码时,就可以显示出提交者的信息。
git config --global user.name "Your Name" |
我在公司使用的电脑是有配置proxy
的,访问Github
会比较缓慢,可以取消代理配置。没有代理可以忽略。
git config --global --unset http.proxy |
一次完整的克隆和上传
1 首先进入到工作目录,在工作目录中初始化git
git init |
2 克隆仓库到本地
首先你需要去github.com
找到自己需要克隆的仓库链接。以我的仓库为例。github提供HTTPS
和SSH
以及Github CIL
三种连接方式,平时主要采用HTTPS
和SSH
两种方式。推荐使用SSH
方式,使用下来会更加稳定快速。
链接复制完成后,打开Windows PowerShell
或者Git Bash
,进入到本地工作目录中,输入以下指令。
git clone git@github.com:kimbleex/kimbleex.git |
3 为本地仓库添加远程仓库
需要给本地仓库添加一个远程github目标仓库链接,以将本地仓库内容提交到目标仓库中。
# 添加一个名为repositoryName的远程仓库 |
4 上传本地代码到github仓库
要提交到github仓库,首先要了解它的工作原理。
git为了保证代码的原子性(即可以很容易的回滚到任何阶段的代码状态),发明了一个叫做暂存区的概念。我们在提交代码之前可以将所有的修改都保存到暂存区中,这样我们可以通过一些指令精细的挑选出我们需要提交的修改。
# 将名为FileName的文件上传到暂存区中 |
这样,我们就完成了一次完整的克隆和上传。
在commit
之后,我们就可以同步更新github仓库了。
# 默认更新github仓库的master分支 |
执行完成后,进入github.com
,刷新一下仓库页面,即可看到仓库的代码更新和commit
时输入的msg
。
3. 仓库的同步
我们可能不止在一个本地段操作同一个github仓库。比如我在公司更新我保存个人博客源码的github仓库,我回家后也需要操作,但是我家里本地的仓库就是滞后的,并不是最新的,这样我们就需要更新我家里电脑的本地仓库。
# 拉去远端github仓库 |
我们可以使用以下指令合并上述的两个操作。
git pull repositoryName master |
恭喜你,你已经学会了最基本的git
指令。
4. 踩坑实记
正当我沾沾自喜的以为自己已经如入无人之境的时候,我的仓库某个目录下的文件push失败了,我又去找了老前端,原因是该目录下我clone了别人的仓库,但是没有将别人仓库下的.git
文件删除,并且在后续删除.git之前我就已经git add
过了,导致最后commit
的时候显示nothing changed,他直接甩给我一行指令。
# directory为目录名 |
查阅后发现时说是取消注册,但是实践下来并没有啥作用,后续尝试过使用git rm
指令,千万不要使用,使用后会将本地仓库的目录和远端github仓库的目录全部删除,血淋淋的踩坑。
5. 其他指令(并不常用,仅做些许列举)
# 展示提交日志 |