Python 测开28期 - 小锅巴 - Git- 学习笔记

Git

Git的工作流程:

  • 工作区–>暂存区–>仓库区(本地)–>仓库区(远程)

Git的常用命令:

  • git clone 仓库链接:克隆远程仓库
    • 远程仓库的链接的方式:
      • HTTPS链接:使用给定的URL即可克隆,在push的时候验证用户名和密码
      • ssh连接:需要提前添加ssh key,在push的时候不需要输入用户名,配置ssh的时候设置密码的时候才输入密码
        • 生成ssh key:ssh-keygen -t rsa -C “邮箱” 之后连敲3次回车,会显示公钥和秘钥保存的地址,之后去对应的地址下去找公钥和密钥
  • 配置全局的账号:
    • 配置全局用户名:git config --global user.name ‘名字’
    • 配置全局的邮箱:git config --global user.email “your_email@youremail.com
    • 验证部配置的结果:git config --global list
  • 命令(操作文件)
    • git init:初始化本地git仓库
    • git remote add origin 远程仓库地址:关联远程仓库
    • git add file/目录:添加文件或者目录到暂存区
    • git commit -m “提交信息”:提交刚add的东西到本地仓库
    • git commit -a -m ‘提交信息’:修改的文件绕过暂存区,直接提交到本地仓库
    • git push:将提交到的本地仓库东西推送到远程仓库上
    • git pull: 拉去远程仓库到本地
  • 调试命令:
    • git status:检查文件的状态
    • git diff:比较当前文件与暂存区快照的区别
    • git diff --staged:查看已经到暂存区的文件,即将提交的文件
    • git checkout file:撤销对文件的修改
    • git reset HEAD file:取消暂存文件
    • git rm -f file:删除文件
    • git rm --cached file:移除暂存区
    • .gitignore 文件:忽略一些文件/目录

Git分支管理

  • git提交的log信息
    • git log:查看项目的历史信息
    • git log --since=‘2023-02-02 00:00:00’:用时间筛选log
    • git log --author=‘作者’:用作者筛选log
    • git log --grep=‘update’:用提交的描述筛选log
  • 分支管理
    • git branch 分支名:创建分支
    • git checkout -b 分支名:创建分支并直接切换到此分支上
    • git branch:列出本地所有的分支
    • git branch -r:列出远程的所有分支
    • git branch -a:列出本地与远程所有的分支
    • git checkout 分支名:切换到分支上
    • git branch -d 分支名:删除分支
  • 分支合并主干
    • git merge 其他分支 本分支:合并指定分支到当前分支
    • git rebase 其他分支:变基,重新设置基准
    • 合并分支的时候会常常出现冲突,那什么是冲突呢?
      • 在并行的工作模式下,工作最终会发生重叠。当多个成员以不同的方式更改同一行时,这种情况git无法判断哪个版本是正确的,这个时候就产生了冲突
      • 冲突的场景:1、多个分支代码合并到一个分支上时 2、多个分支向同一个远端仓库推送代码时
    • 解决冲突的方式:
      • IDE中解决冲突,选择要保留的内容点击Accept保存代码
      • 文件中解决冲突,保留需要保留的内容,删除其余的内容,去掉分割线,保存代码
      • 冲突解决流程:
        • 1、在本地的当前分支上,修改冲突的内容
        • 2、执行git add,添加到暂存区
        • 3、执行git commit -m ‘提交记录’,提交到本地仓库,完成合并
        • 4、执行git push 推送到远程仓库