GitHub社区和git工具
GitHub类似一个代码管理和交流的平台,git是管理代码版本的重要工具。git的存在意义是对于开发项目过程中需要多人协作完成,类似于当下的协作办公,可以一起编辑(需要授权),一起完成一个大的项目的各个模块最终汇总,完成了分布式存储和操作代码的功能。
git是一个管理系统,也是一个小型的软件,在本地下载安装打开,界面为命令栏窗口。在窗口内输入相关指令即可完成对应功能。常见功能梳理如下。
配置用户名和邮箱
git --version#查看版本
git config --list#查看初始配置
git config --list --show-origin#查看初始配置所对应文件夹
git config --global user.name "用户名"#配置用户名,注意这里user.name 后有空格
git config --global user.email 邮箱地址#配置邮箱地址,注意这里user.email 后有空格
git config --list#再次查看初始配置是否配置有用户名和邮箱了,如没有则说明没有配置成功
本地打开GitBash,执行常用命令对仓库文件进行操作
打开或新建一个文件夹,这里是本地你创建的仓库(repository)位置。进入空文件夹新建文件,这个文件可以是代码,之后可以上传到GitHub仓库。可以任意创建一个文本文件或则py文件,并在当下文件夹下右击鼠标打开gitbash。当然也可以先打开gitbash再重新定位到文件夹,先创建文件夹。
git status#查看当下仓库状态
git init#初始化仓库
git add 文件名#添加文件到仓库,文件名包括后缀,注意不是文件夹名,此时的文件夹名是仓库主目录。
#添加后,目前文件在缓存区。也就是说没进入本地版本仓库,为待提交状态。
git commit -m "本次所提交的信息"#git commit 是提交命令,后面是备注的信息。生成了一个版本信息
git commit --amend#在不新增版本信息条件下追加内容,以上一个版本为准
git log#提交日志(保存作者、时间、提交内容)
git branch#查看分支(默认主分支为master)
git branch 分支名#在上一个指令后面加一个分支名就新增了分支,帮助协同完成任务互不干扰
git checkout 分支名#上一个指令是新增,但默认依然在master上,用此命令切换到所对应的分支名上的分支上进行相应操作
git merge a#需要当下在主分支master上,再进行该命令就可以将分支合并到主分支。如大项目的最后各个模块汇总
git branch -d 分支名#删除分支名对应的分支。(合并了就可以删除了)
git tag#查看标签,也是版本信息
git tag 标签名 #新建标签为标签名,名字自取
链接到GitHub,同步更新
要实现同步,涉及到传输,就要加密。需要密钥和相关算法。这里采用rsa
id_rsa (密钥)和 id_rsa.pub (公钥)
ssh-keygen -t rsa#生成密钥(两个),用rsa算法进行传输
将公钥复制,粘贴到GitHub的设置栏SSH key里面。
ssh -T git@github.com#检验密钥配置是否成功
git clone clone的地址(以SSH方式clone他人或自己的链接)
git pull origin main # 把远程最新的代码更新到本地(本地有仓库和文件的前提下,没有就先创建)
git push origin main # 把本地代码推到远程 master 分支(远程有仓库和文件的前提下,没有就先创建)
git add --all#当需要被添加的内容很多的情况下,使用一次性添加
不重要的知识:MinGW,是Minimalist GNUfor Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时(C Runtime)库。MinGW 是一组包含文件和端口库,其功能是允许控制台模式的程序使用微软的标准C运行时(C Runtime)库(MSVCRT.DLL),该库在所有的 NT OS 上有效,在所有的 Windows 95发行版以上的 Windows OS 有效,使用基本运行时,你可以使用 GCC 写控制台模式的符合美国标准化组织(ANSI)程序,可以使用微软提供的 C 运行时(C Runtime)扩展,与基本运行时相结合,就可以有充分的权利既使用 CRT(C Runtime)又使用 WindowsAPI功能。
Thanks for reading