git常用命令
版本控制工具
git : 分布式版本控制系统
分布式版本控制系统 : 是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理
SVN : 集中式版本控制系统
SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。
git 的安装
- 去官网下载文件, 然后安装
- 安装完 Git 之后,要做的第一件事就是设置你的用户名和邮件地址。 这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改:
- 创建一个git 账号: github 或者 gitee(码云)
git config --global user.name '账户的昵称'
git config --global user.email '绑定的邮箱'
如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息。 当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global 选项的命令来配置。
- 删除 身份认证:
控制面板 ==》 用户账户和家庭安全 ==》 凭据管理 ===》 普通凭据 ===》 删除
git 常用的操作
-
初始化仓库 (本地仓库)
git init -
开始你的项目开发: 创建各种文件以及文件夹
-
可以开始进行版本管理
-
安装一个git 插件: git history 插件 (git 的历史记录)
git 的常用命令行
- git add 文件名 : 提交文件到暂存区
- git add . : 提交所有的文件到暂存区
- git commit -m ‘备注信息’ : 提交文件到本地仓库
- git clone 远程仓库的地址url : 克隆远程仓库到本地
- git push : 推送本地文件到远程仓库
- git branch : 查看所有的分支(当前所在的分支 前边有 *)
- git branch 分支名 : 创建分支
- git checkout 分支名 : 检出分支(切换分支)
- git checkout -b 分支名 : 创建并检出分支 (是 git branch 和 git checkout 的结合使用 ;创建并切换到当前(刚创建的)的分支)
- git push --set-upstream origin 分支名 : 推送本地分支到远程并建立追踪
- git push origin 分支名 : 推送本地分支到远程
- git merge -m ‘信息’ 分支名 : 合并分支
- git branch -d 分支名: 删除本地分支
- git push origin -d 分支名 :删除远程分支
你所有的git命令行的操作必须在 .git文件所在的目录下进行
操作步骤
- 克隆远程仓库到本地
git clone url
- 在本地创建分支
// 第一种方式分两步:
// 创建分支
git branch 分支名
// 检出分支(切换分支)
git checkout 分支名
// 第二种方式: 一步
// 创建并检出分支
git checkout -b 分支名
- 把本地分支推送到远程
// 第一种方式
git push origin 分支名
// 第二种方式:
git push --set-upstream origin 分支名
- 在本地 在对应的分支上创建文件的相应操作
// 比如在 develop 分支上创建
// 创建并检出 develop分支
git checkout -b develop
// 把文件提交到暂存区
git add .
// 把文件提交到本地仓库
git commit -m '信息'
// 把本地仓库文件推送到远程
git push --set-upstream origin develop
// 后续对该文件进行相关的更改操作
// 反复执行
git add .
git commit -m '信息'
git push
把本地仓库和远程仓库进行关联
- 初始化本地仓库
git init
-
创建远程仓库
-
把已存在的本地仓库和远程仓库进行关联
git remote add origin url(远程仓库的地址)
- 把远程仓库的分支拉取到本地
// pull 自动拉取并进行合并操作
git pull origin 分支名
// fetch 从远程拉取本地不存在的内容
git fetch origin 分支名
- 在对应的分支上进行文件的操作
git checkout develop
// 反复操作
git add .
git commit -m '信息'
git push
配置ssh秘钥
- 生成秘钥和公钥 执行命令 一路enter键
ssh-keygen -t rsa -C "自己的邮箱"
-
查找生成的秘钥和公钥; 获取公钥
C:\Users\Administrator.ssh 里边有两个文件: id_rsa (私钥) 和 id_rsa.pub (公钥) -
进入码云
个人设置 ===》 ssh 公钥 ===》 添加公钥: 标题自定义(英文) 公钥就是刚生成的; 最后点击 确定 -
克隆下载项目 使用ssh 方式克隆
git clone git@gitee.com:sunShineBeauty/wang.git
- 常规性操作: git add , git commit -m ‘’, git push
git 分支操作
- 创建分支
git branch 分支名
- 切换分支(检出分支)
git checkout 分支名
- 也可以把上边两个步骤合二为一:创建并检出分支
git checkout -b 分支名
- 合并分支 :
把分支a合并到分支b上;首先切换到b分支,在b分支上合并a分支,然后推送到远程
git merge -m '信息' 分支名 --no-ff
比如要把 develop 分支合并到 master分支上;
- 第一步:切换到master分支: git checkout master
- 第二步:在master分支上合并develop 分支使用命令行:git merge -m ‘合并’ develop --no-ff
- 第三步:推送到远程: git push
- 删除分支
分支上的功能合并完后可以删除改分支
- 删除本地分支; 本地分支没有推送到远程
git branch -d 分支名
- 删除远程分支: 本地分支推送到远程
git push origin -d 分支名
git分支合并冲突
合并分支时产生冲突,需要手动解决冲突; 冲突解决后 ctrl + s
保存文件,然后执行以下命令
git add .
git commit -m '信息'
完成分支的合并
git 版本回退
- 回退版本: ^一个代表一个版本
git reset --hard HEAD^ // 回退上一个版本
git reset --hard HEAD^^ // 回退上上一个版本
- 版本回退: HEAD~10 回退10个版本
git reset --hard HEAD~num // num 就是回退的版本个数
- 版本回退: 回退到指定的版本 使用版本号(哈希值)
git reset --hard 哈希值
-
查看历史记录
git log
git reflog -
查看当前的工作区
git status
git 配置忽略文件
在项目的根目录下创建 .gitignore 文件(必须和.git文件同级),在改文件中配置忽略文件;
我们项目使用nodejs的express框架搭建,需要忽略 node_modules 文件夹以及里边所有的文件
- .gitignore 文件格式
/node_modules
git 打标签tag
在 Git 中列出已有的标签非常简单,只需要输入 git tag (可带上可选的 -l 选项 --list)
详细操作见官网地址