一. 了解git是什么
- Git是目前世界上最先进的分布式版本控制系统
工作原理 / 流程:
- Workspace:工作区
- Index / Stage:暂存区
- Repository:仓库区(或本地仓库)
- Remote:远程仓库
二. 下载git
点击进入,选择对应电脑系统下载就ok了
下载安装完成后,鼠标右击会多出两个选项,如下:
git安装完成后好像是会弹出一个窗口的,隔得时间比较长有点忘记了,不过问题不大。
三. 全局配置参数
全局配置参数 git config --global
$ git config --global user.name "你的用户名"
$ git config --global user.email "你的邮箱"
注意:git config --global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。
四. 日常使用
查看分支
$ git branch # 查看所有本地分支
$ git branch -a # 查看所有分支(本地 + 远程)
$ git branch -r # 查看所有远程分支
拉取代码
$ git clone 需要拉取的地址
创建分支 & 切换分支
$ git branch <newbranch> # 新建分支,并留在当前分支
$ git checkout <oldbranch> # 切换分支(分支需存在)
$ git checkout -b <newbranch> # 新建分支,并切换到新分支
$ git fetch origin <branchname>:<branchname> # 从远程分支拉取至本地
合并分支
$ git merge <branchname> # 合并某分支到当前分支
# 将dev分支的代码合并到master
$ git checkout master
$ git pull
$ git merge dev
$ git push origin master
删除分支
$ git branch -d <branchname> # 删除本地分支(需切出)
$ git push origin --delete <branchname> # 删除远程分支
git 版本回退(已经push上去的)
$ git pull # 先确保本地内容和线上分支最新内容一致
$ git reset --hard 7984e003 # git reset --hard commit_id(hash值) 此时本地内容已经和提交一致
$ git push -f
ps: 把本地内容提交到远程仓库,-f有风险,提交需谨慎
git 显示合并中,终止操作(如 master | mergin)
$ git reset --hard # 可以退出
git 查看历史提交版本
$ git log # 查看历史所有版本信息
$ git log -x # 查看最新的x个版本信息
$ git log -x # filename查看某个文件filename最新的x个版本信息(需要进入该文件所在目录)
$ git log --pretty=oneline # 查看历史所有版本信息,只包含版本号和记录描述
回滚版本(commit)
$ git reset --hard HEAD^ 回滚到上个版本
$ git reset --hard HEAD^~2, 回滚到前两个版本
$ git reset --hard xxx(版本号或版本号前几位),回滚到指定版本号,如果是版本号前几位,git会自动寻找匹配的版本号
$ git reset --hard xxx(版本号或版本号前几位) filename,回滚某个文件到指定版本号(需要进入该文件所在目录)
五. 常用操作总结
$ git branch -a # 查看所有分支(本地 + 远程)
$ git branch <newbranch> # 新建分支,并留在当前分支
$ git checkout <oldbranch> # 切换分支(分支需存在)
$ git fetch origin <branchname>:<branchname> # 从远程分支拉取至本地
$ git push --set-upstream origin <branchname> # 推送当前分支并建立与远程上游的跟踪
$ git merge <branchname> # 合并某分支到当前分支
$ git branch -d <branchname> # 删除本地分支(需切出)
$ git push origin --delete <branchname> # 删除远程分支
六. 工作中的日常流程
$ git clone xxx # 复制代码到本地
$ git branch -a # 查看所有分支
$ git checkout xxx # 切换到xxx分支,进行开发!!!!!!注意一定要在自己的分支里开发
$ git add . # 提交所有到 暂存区
$ git commit -m '你的注释' # 提交暂存区的代码到 仓库
$ git push # 提交代码到 远程仓库
有些时候,多人开发。要注意其他同事是否有提交代码。最好执行git pull更新最新代码到本地
$ git pull # 更新最新代码到本地,避免出现代码冲突
首次次提交需要设置git push的那个源祖
$ git push origin xxx