这是我参与「第三届青训营 -后端场」笔记创作活动的第四篇笔记
Git 是什么
Git是目前世界上最先进的分布式版本控制系统。
工作原理/流程:
Workspace:工作区 包含.git文件夹的目录就是工作目录,主要用于存放开发的代码
Index/Stage:暂存区 临时保存修改文件的地方
Repository:仓库区(或本地仓库)
Remote:远程仓库
基本命令
- 配置
git config
git remote
- 提交代码
git add
git commit
- 远端同步
# 拉取代码
clone
pull
fetch
# 推送代码
push
初始化
mkdir study
cd study
git init #生成.git文件
--initial-branch # 初始化分支
--bare # 创建裸仓库
--template # 模版创建预先构建的git目录
Git目录
用户名配置
git config –global user.name ‘账号名’
git config –global user.email 邮箱
Instead of配置
git config –global url.git@github.com:.insteadOf https:..github.com/
Git命令别名配置
git config –global alias.cin "commit -1amend--no-edit
查看remote
git remote -v
添加remote
git remote add origin_ssh git@github.com:git/git.git
git remote add origin_http https://github.com:git/git.git
免密配置 SSH可以通过公私钥的机制,将生成公钥放在服务器端,从而实现免密访问
git commit 将暂存区的文件修改提交到本地仓库
从远程仓库中抓取与拉取
git fetch 是从远程仓库获取最新版本到本地仓库,不会自动merge
git pull 是从远程仓库获取最新版本并merge到本地仓库
将本地分支与远程分支关联:
git branch --set-upstream-to origin/master master
推送到远程仓库 当你想分享你的代码时,可以将其推送到远程仓库。 命令形式:git push [remote-name] [branch-name]
Git分支
几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。Git 的master分支并不是一个特殊分支。 它跟其它分支没有区别。 之所以几乎每一个仓库都有 master 分支,是因为git init 命令默认创建它,并且大多数人都懒得去改动它。 在本章节我们会学习到关于分支的相关命令,具体如下:
- 查看分支
# 列出所有本地分支
git branch
# 列出所有远程分支
git branch -r
# 列出所有本地分支和远程分支
git branch -a
- 创建分支
git branch name
- 切换分支
git checkout name
- 推送至远程仓库分支
- 合并分支
- 删除分支
- 查看分支