GIT操作篇


Git

Git是目前世界上最先进的分布式版本控制系统。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

安装Git

下载Git
1.linux上安装Git
2.windows上安装Git
3.mac上安装Git
brew install git

配置

设定自己机器的全局变量

git config --global user.name "Your Name"—— 设定用户名字,随便写
git config --global user.email "email@example.com" —— 设定用户邮箱,随便写
注意git config命令的–global参数,用了这个参数,表明你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

查看自己机器的配置信息

config 配置有system级别 global(用户级别) 和local(当前仓库)三个 设置先从system->global->local 底层配置会覆盖顶层配置 分别使用–system/global/local 可以定位到配置文件
git config --system --list —— 查看系统config
git config --global --list —— 查看当前用户(global)配置
git config --local --list —— 查看当前仓库配置信息
git config --list —— 查看全配置

额外配置

git config --global credential.helper wincred —— 凭证存储
git config --global color.ui true —— 开启颜色支持
git config --global core.quotepath false —— 支持utf-8编码

修改配置

git config --global --replace-all user.email "输入你的邮箱"
git config --global --replace-all user.name "输入你的用户名"

创建版本库(repository)

mkdir directory —— 创建一个空目录
cd directory
windows下目录最好不用中文
git init —— 初始化仓库

查看仓库状态

git status

本地操作

touch ddf.txt
git add ddf.txt —— 把文件添加到仓库
git add -A —— 添加所有文件到仓库
这里如果有警告则添加git config –global core.autocrlf false;原因是路径中存在 / 的符号转义问题,false就是不转换符号默认是true,相当于把路径的 / 符号进行转义,这样添加的时候就有问题。
git commit -m "first" —— 把文件提交到仓库
git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。

回溯操作

git dif —— 查看difference,即查看修改内容
git log —— 查看提交历史,以便确定要回退到哪个版本。
记住:commit_id(版本号)
git reset --hard HEAD^ —— HEAD指向的版本就是当前版本,该指令即为回到上个操作版本
git reset --hard commit_id —— 回溯到相应版本
git reflog —— 查看命令历史,以便确定要回到未来的哪个版本。

撤销修改

git checkout -- ddf.txt

删除文件

rm ddf.txt

从远程库克隆

  1. 通过https克隆
  2. 通过ssh克隆

远程仓库

git push —— 用于将本地更改推送到远程仓库
git push -u origin master —— 第一次推送master分支的所有内容
git remote —— 仓库关联
git remote -v —— 列出所有远程仓库的名称和URL
git remote add —— 用于添加远程仓库
git remote remove —— 用于删除远程仓库

从远程添加到本地

git fetch —— 从远程仓库获取更新,但并不会合并更改
git pull —— 从远程仓库获取更新,并且自动合并远程仓库的更改到本地仓库

分支操作

git merge —— 合并其他分支到当前分支
git cherry-pick —— 选择并合并其他分支的提交到当前分支

更多指令

融合进IDE

pycharm

  • 基本开发流程
    • 基于远程master分支新建功能/修复分支xxx git checkout -b xxx origin/master
    • xxx分支提交代码commit并推送push
    • 拉取所有分支提交fetch
    • 切换到环境分支git checkout(以远程为主会更新本地环境分支)并merge xxx分支
    • 推送远程push
  • 操作图片
    git新建分支
    常规git操作
    git-merge操作
    git操作
    git-reset操作

golang

类似pycharm

vs code

git使用规范

整体分支包括环境分支-主分支(master)、环境分支-测试分支(test)、环境分支-开发分支(dev)、功能分支(features)、修复分支(hotfixs)。
所有分支均基于主分支开发,master、test、dev三分支互不合并,三种环境分支均合并功能分支或者修复分支。
正常途径皆基于merge合并分支,如出现环境分支相差过大,可基于cherry-pick合并提交,后续以主分支为主,拆分各项分支。
旧分支使用git规范时,可以使用主分支为主,创建不同版本的功能分支、修复分支,然后cherry-pick不同版本的提交至对应的分支,最后新建dev、test分支,并合并对应的features、hotfixs分支。


文章作者: ddf_samsara
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 ddf_samsara !
  目录