源代码管理工具的介绍和使用
一、Git介绍
Git是目前世界上最先进的分布式版本控制系统,它有以下特点:
-
分布式 : Git版本控制系统是一个分布式的系统, 是用来保存工程源代码历史状态的命令行工具;
-
保存点 : Git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目额状态; 可以在该保存点将多人提交的源码合并, 也可以会退到某一个保存点上;
-
Git离线操作性 :Git可以离线进行代码提交, 因此它称得上是完全的分布式处理, Git所有的操作不需要在线进行; 这意味着Git的速度要比SVN等工具快得多, 因为SVN等工具需要在线时才能操作, 如果网络环境不好, 提交代码会变得非常缓慢;
-
Git基于快照 : SVN等老式版本控制工具是将提交点保存成补丁文件, Git提交是将提交点指向提交时的项目快照, 提交的东西包含一些元数据(作者, 日期, GPG等);
-
Git的分支和合并 : 分支模型是Git最显著的特点, 因为这改变了开发者的开发模式, SVN等版本控制工具将每个分支都要放在不同的目录中, Git可以在同一个目录中切换不同的分支;
-
分支即时性 : 创建和切换分支几乎是同时进行的, 用户可以上传一部分分支, 另外一部分分支可以隐藏在本地, 不必将所有的分支都上传到GitHub中去;
-
分支灵活性 : 用户可以随时 创建 合并 删除分支, 多人实现不同的功能, 可以创建多个分支进行开发, 之后进行分支合并, 这种方式使开发变得快速, 简单, 安全。
二、Github介绍
Github是基于git实现的代码托管。GitHub可以免费使用,并且快速稳定。
作为开源代码库以及版本控制系统,Github 拥有超过千万的开发者用户。随着越来越多的应用程序转移到了云上,Github 已经成为了管理软件开发以及发现已有代码的首选方法。
Github仓库常用指令:
git init //把这个目录变成Git可以管理的仓库
git add README.md //文件添加到仓库
git add . //不但可以跟单一文件,还可以跟通配符,更可以跟目录。一个点就把当前目录下所有未追踪的文件全部add了
git commit -m "first commit" //把文件提交到仓库
git remote add origin git@github.com:wangjiax9/practice.git //关联远程仓库
git push -u origin master //把本地库的所有内容推送到远程库上
三、使用git将文件上传到github(本地环境为macOS,M1芯片)
1、下载git
需要用到homebrew包管理工具,下载homebrew,并设置环境变量
/bin/bash -c "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install.sh)"
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
再使用hombrew安装git
brew install git
配置账户
git config --global user.name "account name" ->用户名,建议拼音或英文
git config --global user.email "account email" ->邮箱地址
2、配置ssh密钥
生成密钥
ssh-keygen -t rsa -C "account email" ->上面的邮箱地址
查看密钥
cat ~/.ssh/id_rsa.pub
复制密钥,进入github->setting,选择SSH and GPC keys -> NEW SSH key 粘贴公钥并保存
测试配置
ssh -T git@github.com
出现这段话就是成功了
3、在github上新建仓库
进入github主页,点击头像左边的加号,点击new repository,输入仓库名新建即可
4、上传文件
在终端进入文件根目录,文件先上传至暂存区,在上传至git仓库,最后才可以上传到github上
git init //初始化生成.git
git add . //将所有文件提交到暂存区(add 后面跟一个点,意思是当前目录所有文件)
git commit -m '用ssh秘钥方式将ssm开发的BBS上传至github中'
git status //查看状态
连接github
ssh -T git@github.com
git remote add origin "你仓库的ssh地址"
提交文件
git push -u origin main