版本管理工具--Git

git github gitlab

  • gitlab是公司专门搭建的用来管理代码的仓库,仅供内部访问

集中式 vs 分布式

  • 集中式版本控制工具:
    • CVS、SVN、VSS、…
  • 分布式版本控制工具:
    • Git、Mercurial、Bazaar、Darcs、…

本地库初始化

  1. git init
    • 生成.git隐藏文件夹

配置用户信息

  • 作用: 区分不同开发人员身份
  • 配置方式:
    1. 项目级别/仓库级别
    2. 系统用户级别
// 项目级别
git config  user.name "账号"
git config  user.email "邮箱"
// 配置信息在当前项目的 .git/config 文件夹中
// 系统用户级别
git config --global user.name "账号"
git config --global user.email "邮箱"
// 配置信息存放在系统的用户目录下  C:\Users\...\gitconfig

优先级:项目级别 > 系统用户级别

git操作

  1. 查看状态
    • git status
  2. 添加到暂存区
    • git add .
  3. 提交到版本库
    • git commit -m ‘version’
  4. 查看历史记录
    • git log (列出从当前版本为止的全部提交日志))

    • git log --pretty=oneline

    • git log --oneline

    • git log -

    • git reflog 列出最近git的所有相关操作日志,版本回退时可以参考

  5. 版本回退与前进
    • 版本回退的本质:就是一个HEAD指针的操作
    • 方式一: 基于commitId操作
      • git reset --hard ID (git reflog显示ID)
    • 方式二: 使用^符号操作
      • git reset --hard HEAD^ 回退到上一个版本(一个^表示回到前一个版本)
    • 方式三:使用~符号操作
      • git reset --hard HEAD~数字(n) 回到上n个版本
    • 总结:
      • git reflog 列出所有历史记录
      • git reset --hard ID 回退/前进
  6. 撤销修改
    • 工作区的修改(还没有添加到暂存区)
      • git checkout --文件名
    • 暂存区的修改
        1. git reset HEAD 文件名 撤销暂存区的修改
        1. git checkout --文件名 撤销工作区的修改

分支管理

  1. 查看分支
    • 查看本地仓库的分支情况
      • git branch
    • 查看远程仓库的分支情况
      • git branch -r
    • 查看本地与远程的所有分支情况
      • git branch -a
  2. 创建分支
    • 只是创建分支
      • git branch 分支名
    • 创建分支,并切换到新创建的这个分支上
      • git checkout -b 分支名
  3. 切换分支
    • git checkout 分支名

    注意:本地如果不存在这个分支,则会把远程的给弄下来,如果远程也没有,就报错

  4. 合并分支
    • 先切换到被合并的分支上(主分支)
    • git merge 需要合并的分支
  5. 合并时解决冲突

    原因:两个分支在同一个代码上的某一个位置做了修改,这些 git 合并时不知道该听那个分支的

    1. 找到有冲突的文件
    2. 删除这个文件中的特殊标记
    3. 找到相应的开发人员去商量到底如何处理这个情况,用你的,还是用我的,或者两个都保留
    4. git add
    5. git commit
  6. 删除分支
    • git branch -d 分支名 已经合并过的分支可以这样去删除
    • git branch -D 分支名 没有合并过的分支,但是里面有代码修改,使用 -d 删除,是删除不了的。确定要删除,就是用 -D

远程库(使用代码管理平台)

  • 项目管理人员

    1. 创建远程库
      • 在gitee上创建远程库
    2. 关联远程项目
      • git remote add <远程连接仓库的别名(gitee/github等),一般默认使用origin> 远程地址(https/ssh)
    3. 查看本地库与远程库的关联信息
      • git remote -v
    4. 推送到远程仓库
      • git push -u <远程仓库别名,一般是origin> 分支名 (第一次推送需要加 -u,-u是为了以后提交可以省略成 git push)
    5. 删除关联远程项目
      • git remote remove 远程仓库别名
  • 开发成员

    1. 克隆远程库
      • git clone 远程仓库地址 (克隆后已经关联了远程仓库,不需要再git remote add)
    2. 新建自己的分支
      • git checkout -b 分支名
    3. 推送push
      • git push <远程仓库别名> <远程仓库分支名>
    4. 抓取远程分支到本地
      • git fetch origin 远程分支名
    5. 合并分支
      • git merge 分支名
    6. 拉取pull
      • git pull = fetch + merge

ssh关联远程仓库

使用ssh关联,可以免登录gitee账号

  1. 需要先查看本地电脑是否有ssh相关的东西(用户目录下是否有.ssh的文件夹,有就先删除)
  2. 创建ssh key
    • ssh-keygen -t rsa -C “邮箱地址”
    • 回车…
  3. 再用户目录下找到.ssh文件夹中的id_rsa.pub 这个文件
  4. 复制id_rsa.pub中的内容
  5. 去远程托管平台添加ssh
    • 设置 - 安全设置 - ssh公钥
  6. 克隆项目时可以直接使用ssh的方式
    • git remote add origin < ssh地址 > 关联远程仓库

跨团队协作开发

  • 对某个开源代码感兴趣
    1. 将这个开源的项目fork一份到自己的远程仓库
    2. clone 自己fork的这个项目到本地
    3. 写好代码推送到自己的远程仓库
    4. 创建Pull Request
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值