title: git的使用 date: 2022-04-29 15:38:45 tags: git


由于笔者水平有限,该文档并不是git的教学文档,仅为学习了git的用法之后的总结,希望能通过整理的方式加深印象,如果对git尚不熟悉,可以参考以下文章

Git入门级参考文章

git官方文档

知乎文章

知乎文章

github markdown

git电子书

git的使用

git支持linux的部分命令,包括cat,mkdir,touch,vim,rm,cd等等,也有一些常用的命令和提交格式

git不支持完整的正则表达式语法(regex es),它只支持unix fnmatch(filename pattern matching),通常来说在命令行中使用正则语法容易出现误导,如demo.c等习惯性的写法,因此采用unix的匹配写法,具体为:

如匹配 demo.cpp可使用如下任意一种写法,正则写法如 \w*.\w*不被识别

*.cpp | demo.* | demo.???

当您使用 GitGitHub 协作处理项目时,例如,如果您在 Windows 计算机上工作,并且您的合作者在 macOS 中进行了更改,则 Git 可能会产生意外的结果.您可以将 Git 配置为自动处理行尾,以便与使用不同操作系统的人员进行有效协作。

git config --global core.autocrlf true

关于 add

将文件从工作区 add 到暂存区

关于 rm

有时候添加错误的或未完成需要修改的文件到暂存区,需要从暂存区删除该文件

关于 commit

将暂存区的文件上传到仓库区

关于 push

将仓库区的文件上传到GitHub

有时候会出现Failed to connect to github.com port 443 after xxx ms: Timed out的报错信息或者OpenSSL fail的报错,网上的解决方法很多,有时成功有时不成功,我搜集到的所有解决方法.目前使用SSH可以无压力的上传下载使用git

Git保存的并不是文件的变化差异,而是文件不同时刻的快照.

首先与远程仓库建立连接,有两种方式

可以使用git remote -v查看远程仓库的地址,一个本地仓库可以连接多个远程仓库

默认的分支是master,也就是说我们选择将我们目前commit的本地仓库提交到某一个远程仓库的某一个分支上,我们使用

git push origin master

第一次提交的时候可以选择git push -u origin master追踪此分支,这样默认选择以后都提交到origin远程仓库的master分支,之后的提交可以省略参数

git push

总结: 一套基本的git/GitHub的文件流如下

以上的命令已经可以满足绝大多数个人的项目开发与维护了,但是往往还有一些其他的问题,比如多人合作编写代码,比如临时修复bug等任务


git设计了很好的分支系统和项目拉取合并的方式,这一部分也十分重要,但并不是必要掌握的

接下来会介绍branch | pull | fetch | merge.这一部分可以说是git使用时最常见的问题,涉及多人合作完成项目,分支的使用|合并

优质网站

zood