Git总结

Git

基本概念

  1. 工作区:代码开发区,新建文件,不会自动纳入git管理

  2. 暂存区:通过git add 文件路径 将文件添加至暂存区

  3. 本地仓库:通过git commit-m ‘历史记录说明’ 提交 至本地仓储

  4. 文件的四个状态: 红色—未跟踪(没有添加至暂存区的新文件) 绿色—新添加至暂存区的文件 无色—刚刚添加到本地仓储,工作区、暂存区、本地仓储都是最新的文件 红色 modified—已修改,修改后的文件尚未添加至暂存区

  5. 回滚:

  6. 远程仓储

    1. 配置SSH(每台电脑在某个远程只需要配置一次)
    2. 在申请账号下,可以创建很多远程仓储(空仓储)需要把本地某一个仓储和远程仓储关联起来

语法

将文件添加至本地仓储

  1. git init 初始化—得到一个本地仓储
  2. git add 文件路径列表 将文件添加至暂存区
  3. git commit-m ‘历史记录说明’ 将文件添加至本地仓储
  4. git log 查看提交的历史版本
  5. git status 查看文件的状态

小技巧

  1. 清除屏幕: clear
  2. 历史记录太多了,窗口展示不全,上下箭头去查看. 退出查看模式 q
  3. 按上箭头,展示曾经用过的命令
  4. git add * 添加所有文件到暂存区(但是排除以.开始的文件)
  5. git add *.js 将所有的js文件添加到暂存区
  6. git commit -a -m ‘备注’ 如果当前文件列表不包含新建的文件,可以直接添加到暂存区和本地仓储

回撤

  1. git log --oneline 查看历史版本的极简方式,前面的信息就是每次版本的ID

  2. git reset --hard 版本ID 回滚到历史版本

  3. git rm --cached 文件路径 把某文件移出暂存区

  4. git checkout 文件路径 撤销(不可逆,不建议这样做; 建议:把觉得有问题的代码先存一个历史记录)

远程仓储

  1. 新建远程仓储,填入基本信息

  2. 关联远程仓储 — 复制SSH地址, 然后 git remote add origin SSH地址 (origin可以起别的名,但推荐使用origin,它是SSH地址的别名)(如果把地址复制错: git remote remove origin 再重新关联)

  3. 将代码从本地仓储推送到远程仓储

  4. 第一次上推时 git push -u origin master
    2. 后续上推 git push -u origin master/git push

  5. 常见问题见Git 3月24号文档

  6. 克隆下拉别人 (不能上推至别人的远程仓储,因为没有权限)

    1. git clone SSH地址
    2. git pull origin master 简写git pull
  7. 克隆下拉自己(可以上推至自己的远程仓储,因为自己的远程仓储中有配对公钥才可以推送)

  8. 远程仓储添加开发人员

    1. 把电脑内SSH公钥配置到平台(此电脑对所有远程仓都有推送权限)
    2. 在某个远程仓储中,点击管理,点击仓库成员管理,添加开发者

分支

  1. git branch — 查看所有分支
  2. git branch cc — 创建一个名为cc的分支
  3. 组内约定某个分支为项目业务分支(例如master),谁也不能直接在上面修改代码,提交记录
  4. 大家:组长和组员下拉代码,各自起分支名称(例如git branch cc),然后git checkckout cc切换到cc分支在cc分支上继续开发
  5. 开发完成后git checkout master切换到master分支上, git merge cc 把cc分支上记录合并到 master分支上
  6. git pull先下拉!!!远程可能有人提交记录,出现矛盾点,通过商量解决矛盾,需要在本地记录一下(git add . git commit -m ‘备注’) 来解决冲突
  7. 将代码推送到远程(常见问题见大事件项目git补充文档)
    [注] 3、4步可以使用 git checkout -b cc合并为一步

如何使用: (本地仓库) - (远程仓库) 总结

目标1: 为什么要托管代码?
原因1: 多人协同开发, "合并"代码
原因2: git(版本管理系统) - 自己保存代码(防止本地丢失)

情况1: 新项目(无远程仓库)

(1): 本地新建项目 - 并初始化本地仓库 - (git init命令) - 结果: .git文件夹(保存当前本地所有git版本状态)
(2): 编码, 完成一个模块就暂存提交一次
暂存: git add . (本地所有变换都暂存)
提交: git commit -m ‘本次提交备注’ (必须好好写-方便以后回滚) - (变更保存到了本地仓库 - 产生一次提交的快照)
继续编码 - 继续本地提交保存
(3): 新建远程仓库(gitee.com), ssh的git地址
拉取的时候, 必须有这个网站的账号密码(非仓库管理员)
推送的时候, 必须让管理员把你的账号密码加到这个仓库里
(4): (只有第一次), 建立本地仓库和远程仓库的链接 (一个本地只能对应一个远程)
git remote add origin git地址
(5): (只有第一次), 推送代码并建立读写通道(以后可以简化写法) git push -u origin master (把本地的master分支和远程origin上的master建立通道)
额外讲解: 如果把本地的子分支推上去 git push -u origin 子分支名 (本地必须有这个子分支)
以后 git push 直接 (看当前在哪个分支上)

情况2: 有项目(有远程仓库)

(1): (只有第一次) 克隆下来(本地必须是一个空白的文件夹), git clone 远程git仓库地址
克隆某个分支 git clone -b 分支名 git地址
(2): 编码. 写业务, 本地的代码, 手动复制进去…
(3): git add . git commit -m ‘注释’
(4): git pull / git push

(重要): .git 并列的地方, 有一个 .gitignore文件
固定名, git忽略配置文件
git会监测你所有的代码和文件夹的变更
但是有的东西, 我不想让git监测 (例如: dist文件夹, node_modules文件夹)
一般合并的是代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值