此系列文章用来记录我的学习历程。
今日任务:
1.Git基础
2.建立简单react项目并绑定Github远程存储库
Git基础:
参考链接:猴子都能懂的GIT入门 | 贝格乐(Backlog)
Git是一个分布式版本管理系统,是为了更好地管理Linux内核开发而创立的。
Git可以在任何时间点,把文档的状态作为更新记录保存起来。因此可以把编辑过的文档复原到以前的状态,也可以显示编辑前后的内容差异。
而且,编辑旧文件后,试图覆盖较新的文件的时候(即上传文件到服务器时),系统会发出警告,因此可以避免在无意中覆盖了他人的编辑内容。
①数据库:
- 远程数据库: 配有专用的服务器,为了多人共享而建立的数据库。
- 本地数据库: 为了方便用户个人使用,在自己的机器上配置的数据库。
数据库分为远程和本地两种。平时用手头上的机器在本地数据库上操作就可以了。如果想要公开在本地数据库中修改的内容,把内容上传到远程数据库就可以了。另外,通过远程数据库还可以取得其他人修改的内容。
1.创建数据库:
创建本地数据库的方法有两种:一种是创建全新的数据库,另一种是复制远程数据库。
2.数据更改的提交:
若要把文件或目录的添加和变更保存到数据库,就需要进行提交。
执行提交后,数据库中会生成上次提交的状态与当前状态的差异记录(也被称为revision)。
注意要点:
不同类别的修改 (如:Bug修复和功能添加) 要尽量分开提交,以方便以后从历史记录里查找特定的修改内容。
查看其他人提交的修改内容或自己的历史记录的时候,提交信息是需要用到的重要资料。所以请用心填写修改内容的提交信息,以方便别人理解。
以下是Git的标准注解:
第1行:提交修改内容的摘要 第2行:空行 第3行以后:修改的理由
请以这种格式填写提交信息。
②工作树和索引:
在数据库和工作树之间有索引,索引是为了向数据库提交作准备的区域。
Git在执行提交的时候,不是直接将工作树的状态保存到数据库,而是将设置在中间索引区域的状态保存到数据库。因此,要提交文件,首先需要把文件加入到索引区域中。
③git设置:
我使用的是命令行:下载地址http://git-scm.com/
安装之后,从开始菜单 > 所有程序 > Git > Git Bash启动程序。
$ git --version git version 1.7.7.5 (Apple Git-26)
客查询到版本即成功
$ git config--global user.name "<用户名>"
$ git config--global user.email "<电子邮件>"
设置用户名和邮件。
④建立数据库
在本地任意地方创建一个目录之后通过指令导入到本地Git数据库(我的目录名为text_A)
提交文件:
1.在目录里建立一个新的文件这里命名为(page.txt)
2.$ git add page.txt
将该文件加入到索引中 便于我们追踪它的变更
3.可以使用 $git status 查询一下
4.提交执行$git commit -m " "命令
5.使用$git log可以查询提交记录
⑤数据库共享
1.数据库共享需要将本地数据库上传到远程数据库,为了使修改记录保持同步,需要在git里面执行push操作将本地的修改记录推送到远程数据库。如果远程数据库中有他人的修改记录,需要把他复制(克隆操作)下来保持同步。若是远程数据库有多人进行修改,在操作前需要进行拉取(Pull) 操作,从远程数据库下载最近的变更日志,并覆盖自己本地数据库的相关内容。
2.克隆数据库
使用remote指令添加远程数据库。在<name>处输入远程数据库名称,在<url>处指定远程数据库的URL。
$ git remote add <name> <url>
使用push命令向数据库推送更改内容。<repository>处输入目标地址,<refspec>处指定推送的分支。
$ git push <repository> <refspec>...
运行以下命令便可向远程数据库‘origin’进行推送。当执行命令时,如果您指定了-u选项,那么下一次推送时就可以省略分支名称了。但是,首次运行指令向空的远程数据库推送时,必须指定远程数据库名称和分支名称。
⑥建立一个react项目并且和github完成绑定
1.建立远程存储库
1.1登录进入Github在左上角中创建新的存储库
1.2名称任意
1.3勾选这两个选项是初始化存储库,如果本地存储库中已经有这两个,可能会导致push失败,因为两者名字相同却没有关联性,所以我这里没有勾选创建了空的存储库。
之后就可以看见存储库的url。
1.创建react项目
使用官方封装的库直接建立
npx create-react-app <项目名>
等待加载完后创建完成
cd <项目名>
npm start
创建完成后的目录如下
2.这里创建了一个目录”xiangmu“用来当作初存储库,右键选择Git Bash Here
打开后用$ git init表示当前目录下作为初始库
$git add . 将所有文件放入库中
$ git commit -m "任意内容"(一定要这步,否则会报错)
连接远程库
$ git remote add 给远程数据库命名 url
发送数据
$git push -u 名称 master
这里遇到了报错,发现是因为git上传限制了,所以采用了下面的方法,加大了限制。
$ git config --global http.postBuffer 524288000
最后成功push.
远程存储库显示如下。
⑦对数据库的一些操作
1.推送除了push之外还有分支推送
$ git branch 分支的名字 创建一个分支
$ git push -u origin 分支的名称 推送该分支
2.克隆数据
$ git clone 远程数据库url 新目录的名称
执行后会将远程数据库克隆到新目录
2.1 在克隆的数据库中push
对克隆的目录做出一些更改后执行以下命令(必须更改,否则git检测出没有变化会push失败)
$ git commit -m "任意"
在克隆的数据库中push不需要数据库名称和地址
$ git push 即可
⑧fork函数
参考链接:操作系统之 fork() 函数详解 - 简书 (jianshu.com)
参考链接:(39条消息) fork他人仓库clone到本地_菜鸟变大鸟的博客-CSDN博客
fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。
一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同。相当于克隆了一个自己。
1.在Github中有fork操作并且更简便。可以通过fork方式克隆别人的库到本地
2. 在他人的页面的左上角点击fork图标
3.返回自己的库中会发现多了一个带有Fork图标的库点开 Code复制url地址
4.打开创建的目录右键点击Git Bash Here
之后执行克隆操作即可
$git clone 复制的地址
今日学习结束