Git 一些常用命令

git的指令

  • git init 本地仓库初识化
  • git config 配置
    • git config user.name “” 配置你的提交名称
    • git config user.email “” 配置你的提交邮箱
    • git config --global user.name “” 配置你的全局提交名称
    • git config --global user.email “” 配置你的全局提交邮箱
  • git status 查看项目下的文件的提交状态
  • git add 文件名 添加该文件到git本地仓库
  • git commit 提交文件到本地仓库
  • git commit -m “描述信息” 提交加描述文件的内容一键完成
  • git log 查看文件的版本
  • git log --pretty=oneline 查看文件的版本以一行显示
  • git reset --hard HEAD^ 强制返回上一个版本
  • git reset --hard HEAD~2 强制返回到前两个版本
  • git reflog 查看所有的版本(包括强制还原的版本)和你的所有版本还原的操作
  • git reset --hard 版本号 指定回到某一个版本
  • git checkout – 文件名 把你库中最新的文件还原
  • 删除文件,先删除本地的文件,然后再提交。

git中相关的概念:

  • 工作区:就是你电脑本地硬盘目录
  • 本地库:工作区有个隐藏目录.git,它就是Git的本地版本库
  • 暂存区:一般存放在git目录下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)
  • git branch -v 查看当前版本的分支
  • git branch 分支名 创建新的分支
  • git checkout 分支名 切换到新的分支
  • git merge 分支名 把指定的分支合并到当前分支上

冲突:

  • 产生:在合并分支的时候,出现两个文件修改了同一行的代码,git不知道保存那一行数据
  • 解决办法:用vim文本编辑器,决定你要保存哪一行的代码,删除不需要的代码,然后保存,最后提交
  • git diff 可以找到发生冲突的文件及冲突的内容还可以查看文件修改的内容

git与github同步代码的过程:

  • 自己上传代码到GitHub:
  • 1.搭建代码库:
    • 1)git init
    • 2)git config
  • 2.提交代码:
    • 1)git add xxx
    • 2)git commit
  • 3.GitHub准备工作:
    • 1)注册GitHub账号
    • 2)在GitHub搭建项目
  • 4.推送到远端
    • 1)git remote add origin
    • 2)git push origin master 把一个分支提交到github
  • 别人克隆你的代码:
  • 5.git clone 别名 下载别人的代码并取好别名
  • 6.别人开发你的代码(写好了)
    • 1)git add xxx
    • 2)git commit
  • 7.别人提交自己的代码
    • git push
  • 8.自己在拉回本地查看修改的代码
    • git pull

两种模式:https vs ssh

  • ssh模式比https模式的一个重要好处就是,每次push,pull,fetch等操作时不用重复填写用户名和密码
  • 前提是你必须是这个项目的拥有者或者合作者,且配好了ssh key
  • 配置ssh key:
    • 1.cd ~ cd .ssh 查看有没有这个文件
    • 2.rm -rvf .ssh 删除该文件夹,如果存在删除,不存在可以忽略
    • 3.ssh-keygen -t rsa -C 邮箱地址 创建SSH Key
    • 4.cat id_rsa.pub 查看自己的公开的密钥
    • 5.复制自己的密钥要云端
  • 利用ssh连接上传代码到github上:
    • 1)git remote add origin 此url是使用ssh的连接的地址,不是用https连接地址的
    • 2)git push origin master 把一个分支提交到github

git工作流:简单来说就是,一个项目的成员们在工作中统一使用的Git的工作方式

  • 集中式工作流:
    像SVN一样,集中式工作流以中央仓库作为项目所有修改id单点实体。所有修改都提交到Master这个分支上。
    这种方式与SVN的主要区别就是开发人员有本地库。Git很多特性没有用到
  • GitFlow工作流:
    Gitflow工作流通过为功能开发,发布准备和维护设立了独立的分支,让发布迭代过程更流畅。
    严格的分支模型也为大型项目提供一些非常必要的结构。

分支的种类:

  • 主干分支 master:主要负责管理正在运行的生产环境代码。永远保持与正在运行的生成环境一致2.
  • 开发分支 develop:主要负责管理正在开发过程中的代码。一般情况下应该是最新的代码。
  • bug修理分支 hotfix:主要负责管理生产环境下出现的紧急修复的代码。从主干分支分出,修理完毕并测试上线后,并回主干分支。并回后,视情况可以删除该分支。
  • 发布版本分支 release:较大的版本上线前,会从开发分支中分出发布版本分支,进行最后阶段的集成测试。该版本上线后,会合并到主干分支。生产环境运行一段阶段较稳定后可以视情况删除。
  • 功能分支 feature :为了不影响较短周期的开发工作,一般把中长期开发模块,会从开发分支中独立出来。开发完成后会合并到开发分支。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值