Git&GitHub学习路线

Git

Git是目前主流的分布式版本控制系统,旨在快速高效地处理各种类型地项目。

GitHub

一个存放代码的平台,可以理解为一个网盘。

学习路线

第一部分

  1. 了解基本概念:什么是Git、GitHub?Git、GitHub的作用,以及它们之间的联系与区别。
  2. 了解Git的相关概念:工作区、索引、本地版本库、远程仓库、Git文件状态、版本HEAD和分支等。
  3. 了解Git的安装、常见配置(修改、查看配置)、基本操作(初始化、克隆、暂存、提交、推送、拉取、拉取合并、查看状态、查看历史)。
  4. 了解分支操作,包括创建、查看、切换、删除、合并等

第二部分

  1. 了解GitHub的基本概念:仓库、分支、README、Star、Follow等。
  2. 熟悉操作:搜索、创建、Fork、Watch仓库以及上传代码等。
  3. 了解GitHub的协作流程:克隆仓库、创建分支、修改代码、发起Pull Request、Code Review、Merge分支、删除分支。
  4. 了解GitHub issues。

第三部分

  1. 高级操作:标签、检出、贮藏、清理、变基、重置、还原、检索、展示差异、溯源、参考日志、交互式命令。
    2.** 预防、解决冲突**。
  2. 配置SSH
  3. 子模块。
  4. Git钩子、提交钩子。
  5. 忽略提交。
  6. cherry-pick。
  7. 分布式工作流程。
  8. Git worktree。
  9. Git Flow。
  10. Git内部原理 。
  11. Monorepo。
  12. 了解Git与其他版本控制系统的异同。

本地数据库基本操作

  1. git config --global user.name "<用户名>" git config --global user.email "<电子邮件>":Git的设定被存放在用户本地目录的.gitconfig档案里。
  2. git config --global color.ui auto:让Git以彩色显示。
  3. git config --global alias.co checkout:为Git命令设置别名,如把「checkout」缩略为「co」,然后就使用「co」来执行命令。
  4. git config --global core.quotepath off:解决非ASCII字符显示错误的问题。
  5. git init:在命令行中进入对应的目录中,运行该命令即可将当前目录设置为本地数据库。、
  6. git status:确认工作树和索引的状态。
  7. git add <file>...:将指定文件加入索引,可以使用空格分割从而指定多个文件。
  8. git commit -m "":提交文件。
  9. git log:查看最新提交记录。
    10.gitk:可视化确认提交记录。

共享数据库基本操作

  1. 首先任意选择一个网站(可以免费建立远程数据库的)。
  2. push到远程数据库:其中name是为远程数据库取的别名,url是远程数据库的地址。这样做的目的是为了方便下次使用时无需输出长串的地址。
    git remote add <name> <url>
    
    接下来可以输入命令向数据库推送更改内容。其中repository是数据库的目标地址,refspec是指定推送分支。
    git push <repository> <refspec>...
    
    此外,我们可以指定-u选项。如此一来,我们下一次推送就可以省略分支名称。
  3. clone远程数据库:其中repository含义与上述一致,directory是在本地数据库的指定目录。
    git clone <repository> <directory>
    
  4. 从远程数据库pull:
    git pull <repository> <refspec>
    

分支操作

  1. git branch <branchname>:建立分支
  2. git checkout <branch>:切换分支
  3. git checkout -b <branchname>:建立并切换分支
  4. git merge <commit>:以merge方式合并分支
  5. git branch -d <branchname>:删除分支
  6. git reset --hard HEAD~:取消上一次的合并操作
  7. 使用rabse合并:rebase的时候,修改冲突后的提交不是使用commit命令,而是执行rebase命令指定 —continue选项。若要取消rebase,指定 —abort选项。这样,在master分支的issue3分支就可以fast-forward合并了。切换到master分支后执行合并。myfile.txt的最终内容和merge是一样的,但是历史记录不相同。
  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值