Git是什么
Git是一个开源的[分布式][版本控制系统],用于敏捷高效地处理任何或小或大的项目,事实上它是与GitHub搭配起来使用的。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
简单点说就是,Git 是一个命令行工具,一个分布式的版本控制系统。它可以在背后默默地帮你管理和跟踪代码的历史版本,就好比一个时光机,让你在代码出错时不至于手足无措,快速回退到之前的历史版本。
说Git就不得不说GitHub,那么GitHub是什么呢?
GitHub 是通过 Git 进行版本控制的软件源代码托管服务平台,由 GitHub 公司的开发者 Chris Wanstrath、PJ Hyett 和 Tom Preston-Werner 使用 Ruby on Rails 编写而成。
Git常用命令
1)基本操作
1.查看git的配置列表
git config --list
2.设置用户名/邮箱/密码(全局配置)
git config --global user.name "username"
git config --global user.email "email"
git config --global user.password "password"
3.删除某个全局配置项
git config --global --unset user.name
4.将远程仓库clone到本地计算机,可以在地址后面指定你要在本地生成的文件夹名字
git clone git@github.com:fsliurujie/test.git --SSH协议
git clone https://github.com/fsliurujie/test.git --HTTPS协议
5.展示工作区及暂存区域中不同状态的文件
git status 后边可以接文件名也可以不接
6.将内容从工作目录添加到暂存区
git add 文件名或者.就代表所有
7.将所有通过 git add 暂存的文件提交到本地仓库,此时仓库的代码还是存在本地
git commit
8.将本地仓库的记录提交到远程仓库,也就是提交自己的代码
git push
9.拉取远程仓库的数据,将项目的代码同步到本地
git pull
10.将本地的项目初始化为一个git仓库,首先切换到项目的目录,初始化完毕后会有一个.git目录。
git init
11.将本地仓库的项目与远程仓库关联
git remote add origin https://github.com/Future-StarFire/star2.git
12.如果URL地址打错了,也可以通过下面的命令修改远程仓库地址
git remote set-url origin https://github.com/Future-StarFire/star2.git
13.将本地代码库的某一分支(eg:master主版本)推送到远程的代码库
git push -u origin master
14.add-commit-push三部曲,可能会报错,运行下面命令
git push --set-upstream origin main(master)
15.查看git仓库的远程代码地址
git remote -v
16.使用git从远程仓库pull(拉)至本地仓库(重点)
git pull
17.给 git commit 加上 -a 选项,Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤
git commit -a
18.删除本地仓库与远程仓库的连接
git remote remove <name>
2)SSH key和分支相关
1.生成key或是验证key:
ssh -T git@github.com
2.IDEA创建本地仓库:
VCS-->Import into Version Control-->Create Git Repository... 注1:一般会选择当前项目所在的目录
3.查看本地所有分支:
git branch
4.查看远程所有分支:
git branch -a
5.创建分支:
git branch name
6.切换分支:
git checkout name
7.创建并且切换到此分支:
git checkout -b name
8.合并另外的分支代码到当前分支:
git merge name
9.删除本地分支:
git branch -d name
10.删除远程分支:
git push origin -d name
git push origin :name
11.重命名本地分支:
git branch -m oldName newName
12.提交当前分支到远程仓库:
git push origin name
13.提交分支并且重命名分支:
git push origin oldName:newName
14.绑定远程分支:
git branch --set-upstream 分支名 origin/修改后的分支名
15.拉取远程仓库的分支到本地并且修改分支名:
git pull origin 分支名字:本地分支名字
3)版本标签tag相关
1.查看所有标签:
git tag
2.创建标签:
git tag 版本号
3.创建标签并且指定消息:
git tag 版本号 -m "消息"
4.推送标签到远程仓库:
git push origin 1.0.0-alpha
5.删除本地标签tag:
git tag -d 1.0.0-alpha
6.删除远程标签tag:
git push origin :refs/tags/1.0.0-alpha
7.将main分支合并到当前分支:
git merge main
8.版本命名规范:
软件版本号由四部分组成,第一个1为主版本号,第二个1为子版本号,第三个1为阶段版本号,第四部分为日期版本号加希腊字母版本号,
希腊字母版本号共有5种,分别为:base、alpha(开发版)、beta(存在小缺陷)、RC(测试版)、release(最终)
9.项目开发中DEV、QAS、PRD是什么意思:
IDES:Internet Demonstration and Evaluation System 交互式演示与评估系统
DEV:Development System,开发系统
QAS:Quality Assurance System,质量保证系统
UAT:User Acceptance Test 用户验收测试
PRD:Production System,生产系统
10.可以在clone的时间指定tag或branch:
git clone -b https://github.com/Future-StarFire/demo.git
git clone -b libtorrent-1_1_9 https://github.com/Future-StarFire/demo.git
.