电子说
1 参考教程
☆ Git官方文档
https://git-scm.com/book/zh/v2
☆ 廖雪峰的Git教程
https://www.liaoxuefeng.com/wiki/896043488029600
2.Git的作用
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
3.安装Git
3.1 Linux 系统下安装
一般Linux系统都会自带git命令。
如果没有,使用如下命令安装即可:
sudo apt-get install git
3.2 Windows 系统下安装
除官网下载安装程序外,一般还会下载小乌龟的图形界面客户端和语言扩展包。如下图:
安装完成后右键会出现如下几个选项(开始是英文):
在设置选项中更改成中文即可。
点击网络选项,设置下图的SSH路径,找git的安装路径(即第一个软件的路径),根据自己实际修改。完成后点击确定即可。
上面SSH客户端路径请一定选择正确,注意是usr/bin下的ssh.exe
3.3 使用Gitbash终端
Git bash是windows下模拟Linux的终端,支持常用的linux命令,比如ls等。
点击右键菜单中的GitBash Here选项,会弹出如下Gitbash界面。
3.4 生成主机密钥
ssh-keygen-t rsa -C "xxxx@xx.com"
一路回车,直到命令执行结束。终端会提示生成密钥的路径。
id_rsa.pub文件的内容即对外公钥,可配置到远程服务器中,配置完成后往远程服务器推送即可不用每次再输入用户名和密码。
4.Git管理区域
4.1 区域划分
☆ 工作区
即我们新建git仓库后在电脑上看到的目录,此区域内文件改动完全由我们自己掌控,Git不进行备份管理,可以随时把新增工作区内容通过Git命令删除或者增加到暂存区。
☆ 暂存区
暂存区是个比较虚拟的概念,可以理解为工作区和版本库之间的过渡,当用户想简单备份工作区内容,但又不想做版本提交,就可以将工作区内容暂时存放到暂存区,此区域的内容可方便的还原回工作区,或者作为正式版本提交到版本库。
☆ 版本库
Git版本管理的核心,存储着每一个版本的备份。
☆ 远程库
远端服务器,即上文中提到的“中央服务器”,仅用来作为开发者之间的版本仓库同步使用。
5.Git命令
5.1 基础命令
配置用户信息 gitconfig --global user.name "zhangsan" gitconfig --global user.email "xxxx@xx.com" 配置的信息用作提交版本时标识提交者用户名和邮箱地址。 查看当前配置 gitconfig -l 初始化仓库 git init 将工作区内容添加到暂存区 git add
5.2 版本控制
将暂存区的内容提交到版本库 gitcommit -m "版本修改信息" 将暂存区内容放回工作区 gitreset HEAD
5.3 分支管理
创建新的分支 gitcheckout -b dev相当于gitbranch dev + git checkout dev两个命令的集合 列出所有分支并用*标注当前分支 git branch 切换回name分支 git checkout
分支管理参考图
5.4 远程仓库 (常用代码托管平台)
☆ Github
开源项目的聚集地,世界最大的代码托管平台。很多著名的项目都在Github开源,比如Linux源码、Qt源码等。缺点:国内经常无法访问,速度比较慢。
☆ Gitlab
Gitlab支持公有仓库和免费的私有仓库,体验和Github类似,常用作搭建的企业内网代码托管平台。公有仓库国内经常无法访问,速度比较慢。
☆ 码云
国内代码托管的老大,一个账号最多可以创建1000个项目,不分公有和私有。速度非常快,体验较好。但是单文件大小不能超过100M。
☆ 相关命令
克隆远程仓库 gitclone <远程地址> 本地推送到远程 git pushorigin <分支名> 从远程拉取更新 git pull
☆ 配置别名
git config --global alias.st statusgit config --global alias.ci commitgit config --global alias.br branchgit config --global alias.ch checkout
6.TortoiseGit使用
6.1 操作演示
克隆项目
撤销工作区修改
版本提交
拉取更新
推送更新
end
审核编辑 :李倩
全部0条评论
快来发表一下你的评论吧 !