Git->分布式版本控制系统,分为本地仓库和远程仓库:
一般的工作流程如下:
从远程仓库中克隆或拉取代码到本地(Clone一般是克隆别人的完整项目,Pull一般是在项目开发过程中在本地同步partner的提交到远程仓库的代码)
在本地coding
Commit之前将代码提交到缓存区(此时均在本地)
提交到本地仓库(此时仍在本地,本地的仓库中保存着提交的各个历史版本)
在需要时将代码提交到远程仓库(Push,此时别的团队成员可以看到你的提交,以及你的修改,git会显示出你删除的和增加的代码)
Git - Downloads
一般只用第一个,使用命令行进行操作
傻瓜式一直Next即可
这几个单词就是常用的所有命令
本地仓库:是自己电脑上的Git仓库,存放我们的代码(.git 隐藏文件夹就是我们的本地仓库) 远程仓库:是在远程服务器上的Git仓库,存放代码(可以是github或者gitee或者公司的服务器) 工作区: 我们自己写代码(文档)的地方 暂存区: .git文件夹中的index,叫做暂存区,临时存储我们即将要提交的文件 ------------ Clone:克隆,将远程仓库复制到本地仓库 Push:推送,将本地仓库代码上传到远程仓库 Pull:拉取,将远程仓库代码下载到本地仓库,并将代码克隆到本地工作区 Fetch:提取,将更新的数据提取,配合Merge使用 Merge:合并,将获取到的远程仓库的代码合并到自己的分支上 Checkout:检出,将工作区的修改放弃,或切换分支或恢复删除的文件 Commit:提交,将代码提交到分支上 Add:添加,将代码添加到暂存区
在主分支
还没有提交
未追踪文件:
helloWorld.txt
没东西被添加去提交,但是有未追踪的文件存在(用git add 命令去追踪)
可以输入hello,使用Tab补全(vim编辑)
绿色代表已经在暂存区
-m 参数表示提交的注释
可使用⬆️键查看之前输入的命令(vim)
红色意味着修改并未跟踪
commit后面的是提交时的版本号
也可以使用git reflog 命令获得版本号
使用git reset --hard +版本号 命令来回退到想要的版本(所以提交时的注释很重要)
还有一些命令,git add ./ 添加所有文件,git checkout --file 丢弃工作区的修改, 还有强制推送远程仓库等等,不可能把所有的命令都记住,用的时候再搜索即可。
github 基于git实现在线代码托管的仓库,向互联网开放,企业版要收钱。 gitee 即码云,是 oschina 免费给企业用的,不用自己搭建环境。 gitlab 类似 github,一般用于在企业内搭建git私服,要自己搭环境。
关于GitHub的简单介绍可以前往GitHub中文社区GitHub中文社区 | GitHub中文网
创建仓库
GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。
git push -u origin main
经典的报错
尝试不同的方法,总可以解决
博客链接https://www.cnblogs.com/fairylyl/p/15059437.html
首先切换分支到main分支,再使用git push 成功
时间是按照commit的时间,push只是将本地仓库的内容和远程仓库进行同步。
以上是GitHub采用HTTPS连接的方法,也可以采用SSH连接的方法,包括创建私钥等等,SSH可能比HTTPS更稳定(节点不稳定的情况下)
GitHub这些功能简单说一下,一些大型项目用得到,包括Issues,Releases等
具体操作与GitHub类似
总的来说就是自建Github,自己购买服务器,并配置Gitlab的服务,常用于公司,一些代码不能开源,但需要远程托管。
GitLab 是什么? - 知乎
可以下载GitLens插件,也可以不下
插件拥有更多功能,不过一般也用不到
只需看对应文件夹的修改即可
查看变更
点击提交按钮,获得的提交信息
更详细的操作可以去看这些类似的博客
Git操作详解以及在VScode中的使用 - 知乎
不过一般IDE里面进行提交比用命令行要慢一点,看个人喜好在哪里进行版本控制,我只是做个示例。