最初Linux内核项目没有版本控制系统管理和维护代码,导致维护工作都花在了提交补丁和保存归档的繁琐事务上( 1991 2002 年间)。到2002年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了Linux 内核社区免费使用 BitKeeper的权利,于是Linux 开源社区决定开发出自己的版本系统。这就是Git的由来
Git是分布式版本控制系统,分为两类仓库:本地仓库和远程仓库。
下载地址:https://www.git-scm.com/download/
安装成功后,在桌面右键会看到如下菜单
Git GUI: Git 提供的图形界面工具
Git Bash: Git 提供的命令行工具
设置用户信息
git config --global user.name “zhangsan”
git config --global user.email “[email protected]”
查看配置信息
git config --list
git config user.name
版本库:.git隐藏文件夹就是版本库,隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等
工作目录(工作区):包含 .git 文件夹的目录就是工作目录,主要用于存放开发的代码
暂存区:git 文件夹中有很多文件,其中有一个 index 文件就是暂存区,也可以叫做 stage 。暂存区是一个临时保存修改文件的地方
git status 查看文件状态
git status -s 简洁输出文件状态
git add 将未跟踪的文件加入暂存区
git add hello.txt
加入后状态:
从暂存区撤回
git reset head hello.txt
git commit 将暂存区的文件修改提交到本地仓库
git rm 删除文件
删除后查看文件状态
将工作区删除的文件提交到本地仓库
将文件添加至忽略列表:
可以在工作目录中创建一个名为 .gitignore 的文件(文件名称固定),列出要忽略的文件模式。下面是一个示例:
git log 查看日志记录
git remote 查看远程仓库
git remote add < shortname > < url > 添加远程仓库
git clone [url] 从远程仓库克隆
git remote rm < shortname > 移除无效远程仓库
注意:此命令只是从本地移除远程仓库的记录,并不会真正影响到远程仓库
从远程仓库中抓取与拉取
git fetch [remote-name] [branch-name] 是从远程仓库获取最新版本到本地仓库,不会自动 merge
git pull [remote-name] [branch-name] 是从远程仓库获取最新版本并 merge 到本地仓库
注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报
错( fatal: refusing to merge unrelated histories ),解决此问题可以在 git pull 命令后加入参数 allow unrelated histories
git push [remote name] [branch name] 推送到远程仓库
需要输入仓库用户名和密码
查看分支
# 列出所有本地分支
$ git branch
# 列出所有远程分支
$ git branch -r
# 列出所有本地分支和远程分支
$ git branch -a
git branch b1 创建分支
git checkout b1 切换分支
git push origin [branch-name] 推送至远程仓库分支
git merge [branch-name] 合并分支
git branch -d < branch-name > 删除分支
git push < remote-name > -d < branch-name> 删除远程仓库分支
git tag < tag-name> 新建标签
git tag 列出所有标签
git show < tag-name> 查看tag信息
git push [remote-name] [tag] 将标签推送至远程仓库
git checkout -b [branch-name] [tag-name] 新建一个分支,指向某个tag
git tag -d [tag-name] 删除本地tag
git push [remote-name] :refs/tags/[tag-name] 删除远程tag
TortoiseGit是一款开源的 Git 图形界面工具,使用 TortoiseGit 可以简化 Git 相关的操作(本质上还是执行的Git相关命令)
TortoiseGit 下载地址: https://tortoisegit.org/download/
创建仓库
克隆仓库
将文件添加到暂存区
提交文件
推送本地仓库到远程仓库
拉取代码
创建分支
切换分支
合并分支
选择 File→Settings 打开设置窗口,找到 Version Control 下的 git 选项:
选择 git 的安装目录后可以点击“ Test” 按钮测试是否正确配置
将工程添加至 Git,加入到Git的文件颜色会有变化
将文件添加到缓存区
提交文件
将代码推送到远程仓库
从远程仓库克隆工程到本地
从远程拉取代码
创建分支
切换分支
分支合并
本地协议( Local)
HTTPS 协议
SSH (Secure Shell )协议
Git 协议
SSH为 Secure Shell (安全外壳协议)的缩写,由 IETF 的网络小组( Network Working Group )所制定。 SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
使用ssh 协议通信时,推荐使用基于密钥的验证方式。你必须为自己创建一对密匙(公钥和私钥),并把公匙放在需要访问的服务器上。
1、使用命令 ssh keygen -t rsa 生成公钥和私钥,执行完成后在 window 本地用户 ssh 目录 C: Users 用户名 .ssh 下面生成如下名称的公钥和私钥
2、复制公钥文件内容至Git服务器