当前位置:首页 >> 网络编程

详解git使用小结(本地分支与远程分支、git命令)

git

git 是一个版本管理系统(VCS),可以在任何时间点,将文档的状态作为一份更新记录保存起来,并且在任意的时间点,恢复更新记录

版本管理

版本管理是一种记录文件变化的方式,方便查阅特定版本号的文件内容

人为维护文档版本问题

1、文档数量紊多,命名不清晰,导致文档版本混乱
2、每次编译文档需要赋值,不方便
3、多人同时编辑一个文档,容易产生覆盖

git使用

在使用git前,需要全局配置git

  • 提交用户名 - git config --global user.name “用户名”
  • 提交邮箱 - git config --gllobal user.email “邮箱”

**注:全局配置只执行一次,若需要修改,重复上述命令

git提交命令

  • git init 初始化git仓库
  • git status 查看文件状态
  • git add . 提交新增文件内容
  • git commit -m “commit” 提交文件说明
  • git log 查看提交记录
  • git remote add origin https://gitee.com/xxxx/xxxxx.git 与远程仓库关联
  • git push -u origin master 把本地分支推送到远程
  • git clone https://gitee.com/xxxx/xxxxx.git 下载远程master分支(克隆)
  • git pull --rebase origin master 获取远程库与本地同步合并(远程仓库不为空)
  • git remote remove origin 断开远程库与本地间的连接
  • 在git bash中移除本地与git之间的连接

find . -name “.git” | xargs rm -Rf 移除本地与git之间的连接

git分支

分支是当前工作目录中代码的一份副本,使用分支,可以让我们从开发支线上分离出来,以免影响开发主线

查看分支

  • git branch 查看本地分支
  • git branch -a 查看所有分支(本地与远程)
  • git branch -r 查看远程分支
  • git branch -vv 查看本地分支与远程分支之间的关联关系

分支命令

  • git branch 分支名/develop 创建新的分支
  • git checkout 分支名/develop 切换分支(在暂存区中覆盖原工作目录中的分支)
  • git rm --cached 分支名/develop 从暂存区删除分支
  • git branch -d 分支名 删除分支(分支被合并后才允许删除)/(-D强制删除)
  • git merge 来源分支 合并分支
  • git rest --hard commitID 从git仓库中将指定的更新记录恢复出来,覆盖暂存区和工作区

主分支(master) 第一次向git仓库中提交更新是自动产生的分支
开发分支(develop) 作为开发的分享,是基于master分支创建的
功能分支(feature) 作为开发具体功能的分支,基于开发分支创建

分支间的关系
功能分支 -> 开发分支 -> 主分支

暂时保存更改

提取分支上所有的改动并且存储起来,可以让开发人员有一个干净的工作副本,临时去网其他工作

应用场景:分支临时切换
*存储临时改动:git stash
*恢复改动:git stash pop

git远程分支

拉取远程git仓库里的指定分支到本地(本地不存在的分支)

  • git checkout -b 本地分支 origin/远程分支 拉取远程里的分支(本地不存在)
  • git checkout 分支名 切换分支

若出现提示:

fatal: Cannot update paths and switch to branch ‘远程分支' at the same
time. Did you intend to checkout ‘origin/远程分支' which can not be
resolved as commit"color: #ff0000">本地检出新分支并推送到远程

  • git checkout -b develop 分支名 创建并切换本地分支*[相当于 git branch dev //创建分支  git checkout dev //选择分支]
  • 该分支是从当前分支检出的,所以文件内容与当前分支一样
  • git branch origin develop 创建远程分支
  • git push --set-upstream origin 分支名 推送本地分支到远程仓库

如果远程分支已存在,就在创建本地分支时与其关联

git checkout -b 本地分支 origin/远程分支
合并分支
切回master

  • git checkout master
  • git merge 本地分支 合并分支
  • git push origin master 推送

删除分支

  • git branch -d dev //删除本地分支
  • git push origin -d dev //删除远程分支

总结