Git+Github学习笔记

发布时间:2026/8/21 6:49:33
Git+Github学习笔记 学习视频GitGithub核心概念大串讲从零到一全攻略详细实战教程_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1ySLc6QEcB/?spm_id_from333.1391.0.0vd_sourceb0ff309389fa15ce9ed7b52de0ab9ccbGit下载教程Git 是一个分布式版本控制系统。简单说它帮你记录文件的每一次修改让你可以随时回退到任意历史版本。核心思想快照不是差异。很多版本控制系统如 SVN存储的是「每次改了什么」差异补丁。Git 不同——它每次保存的是整个项目的快照snapshot像是给所有文件拍了一张照片。但这不意味着 Git 每次都复制一份完整文件。Git 用了一个巧妙的设计没有变化的文件Git 只存储一个指向上次快照的引用只有变化的文件Git 才存储新的内容所以 Git 的存储效率很高同时又能瞬间切换到任意版本。Git 的设计哲学一切都可追溯一切皆可回退。Git是最多人使用的版本控制系统当一个文件夹被Git管理起来以后就变成了一个Git仓库被Git仓库管理的文件夹下面会生成一个.git的子文件夹用来存放Git的版本控制信息Git使用commit也就是提交作为版本控制的基本单元每完成一次commitGit都保存了一个仓库此时状态的快照这样文件夹里的所有文件的状态都被记录了下来全世界的开发者会把自己用Git进行版本控制的仓库也就是一个个的项目文件夹上传到github网站上面这个网站就变成了Git仓库的集合也就是hub所以Git加hub就是Github它是全球最大的代码仓库托管与写作平台可以在里面存储分享并且与他人一起编写代码github上面的仓库分为两种公开仓库和私有仓库所有的公开仓库在github上面都可以被搜索到而且这些仓库都是开发源代码的所有人都可以进去直接浏览学习其中的代码并且根据一定的规则使用这些代码。在开始之前我们需要在电脑上进行一些准备工作也就是在电脑上安装Gitvscode还有要配置至少一个ai agent还需要注册并登录github网站。我们先来安装Git这里我们来到Git的官网Githttps://git-scm.com/点击下载windows系统的安装包版本选择说明这里下载Git for Windows / x64 Setup。各版本区别Standalone Installer标准安装版把 Git 集成进系统有快捷方式首选。Portable绿色免装版解压即用不改动系统和注册表。x64适配绝大多数 Intel / AMD 芯片的电脑。ARM64适配高通骁龙等 ARM 芯片设备通常需要 Windows 11。下载并打开安装程序注意直接从官网下载会出现官方源访问慢或不稳定等问题可以使用镜像源网站下载。清华大学 开源软件镜像站Index of /github-release/git-for-windows/git/ | 清华大学开源软件镜像站 | Tsinghua Open Source MirrorIndex of /github-release/git-for-windows/git/ | 清华大学开源软件镜像站致力于为国内和校内用户提供高质量的开源软件镜像、Linux 镜像源服务帮助用户更方便地获取开源软件。本镜像站由清华大学 TUNA 协会负责运行维护。https://mirrors.tuna.tsinghua.edu.cn/github-release/git-for-windows/git/双击运行安装文件下载后双击Git-2.55.0.4-64-bit.exe打开安装向导。下面安装vscode进入vscode官网Visual Studio Code - The open source AI code editor | Your home for multi-agent developmenthttps://code.visualstudio.com/点击网站出现如下界面点击第二个链接点击Git-2.55.0.4-64-bit.exe双击运行安装文件Git选择安装目录点击next点击next选择组件保持默认勾选即可或按自己需要进行勾选 Next。On the Desktop在桌面建 Git 快捷方式。Open Git Bash here右键可在此打开 Git Bash。Open Git GUI here右键打开图形化 Git 界面。Git LFS管理大文件如压缩包、模型等。Associate .git*git 配置关联默认编辑器。Associate .sh.sh 脚本用 Git Bash 运行。Check daily for updates每天自动检查更新。Add Git Bash Profile to WT添加到 Windows Terminal安装了就勾选。Scalar微软插件加快超大仓库的拉取速度。开始菜单文件夹继续保持默认 Next。设置默认编辑器设置 Git 内部调用的文本编辑器保持默认 Next。Use Vim经典终端编辑器门槛高新手不推荐。Use Notepad使用记事本。Use Visual Studio Code使用 VS Code推荐。Use Sublime Text使用 Sublime。Use Atom已停更不推荐。Select other editor手动指定编辑器路径。设置默认分支名新建本地仓库时自动创建的第一条分支名。Let Git decide默认 master适合老项目。Override the default branch name自定义新仓库分支名选它填 main。配置 PATH 环境变量让系统能找到 git 命令保持默认 Next。Use Git from Git Bash only只在 Git Bash 里能用受限。Git from command line 3rd-party命令行和第三方软件都能用推荐首选。Use Git Unix tools from CMD会覆盖系统命令新手勿选。选择 SSH 程序SSH 用来免密码连接 GitHub / Gitee保持默认 Next。Use bundled OpenSSH用 Git 自带的推荐。Use external OpenSSH用系统的懂配置再用。选择 SSL/TLS 库HTTPS 克隆仓库时校验安全证书用勾第 1 项 Next。Use the OpenSSL library用 OpenSSL个人访问公网仓库选它。Use native Windows Secure Channel用 Windows 自带公司内网环境。配置换行符转换Windows 用 CRLF、Linux/macOS 用 LF保持默认 Next。Checkout Windows-style默认适合 Windows推荐。Checkout as-is, commit Unix-styleLinux/macOS 选这个。Checkout as-is, commit as-is不转换跨平台不推荐。配置终端模拟器Git Bash 的终端窗口保持默认 Next。Use MinTTY用 Git Bash 自带终端默认。Use Windows console window用系统 cmd 窗口。配置 git pull 行为下载远程代码并合并到本地的方式保持默认 Next。Merge合并产生一条 merge 提交记录。Rebase变基提交记录变成一条直线。Fast-forward only仅快进才成功。配置凭证助手记住账号密码令牌免得每次推送都重输保持默认 Next。Git Credential Manager安全保存令牌推荐。None不保存每次都要重输。额外功能选项额外功能保持默认 Install。Enable file system caching将磁盘文件信息加载到内存缓存中提速推荐。Enable symbolic links软链接类似 Windows 的快捷方式。等待程序安装完成完成安装FinishLaunch Git Bash勾选后打开 Git Bash。View Release Notes查看更新日志可取消勾选。右键菜单验证桌面右键出现Open Git GUI Here和Open Git Bash Here说明安装成功。打开 Git Bash 验证Open Git Bash Here 打开终端输入git回车会列出 git 命令说明。Git 安装完成。下载windows的安装包完成安装接下来注册一个github账号GitHub · Change is constant. GitHub keeps you ahead. · GitHubhttps://github.com/右上角点击sign up填写用户名、邮箱、密码点击注册去邮箱接收验证码这样就登录了github注意如果无法打开github网址找到一下文件路径C:\Windows\System32\drivers\etc找到hosts文件右键用记事本打开在最下面的空行粘贴ip地址并加上github域名注意ip和域名之间有空格如下20.205.243.166 github.com然后保存文件。如果提示需要管理员权限才能保存到该文件夹怎么解决在Windows搜索栏中输入“记事本”然后在结果中找到“记事本”应用。右键点击“记事本”选择“以管理员身份运行”然后在记事本里面找到文件选项打开文件C:\Windows\System32\drivers\etc选择打开hosts文件这样就能直接修改了。修改完后winr打开cmd以管理员身份运行输入如下命令刷新DNS缓存 ipconfig/flushdns注意如果还是不行就打开一下几个网站找到ip地址https://sites.ipaddress.com/github.comhttps://sites.ipaddress.com/github.com/https://sites.ipaddress.com/fastly.net/https://sites.ipaddress.com/fastly.net/https://sites.ipaddress.com/assets-cdn.github.com/https://sites.ipaddress.com/assets-cdn.github.com/在hosts文件下面再加上这几个地址和域名刷新一下140.82.112.3 github.com 151.101.1.6 github.global.ssl.fastly.net 185.199.108.153 assets-cdn.github.com 185.199.109.153 assets-cdn.github.com 185.199.110.153 assets-cdn.github.com 185.199.111.153 assets-cdn.github.com配置一个ai agent软件让ai帮我们完成git与github的绑定这里以codex为例先建立一个空白文件夹然后进入codex点击进入项目目录使用现有文件夹选择刚才新建的文件夹这里ai要求我们提供远端仓库的地址来到github网站点击new按钮也就是在github上创建一个repository存储库然后填写一个存储库的名字点击创建然后我们把存储库的地址复制一下粘贴给codex弹出一个授权窗口点击蓝色按钮登录然后就完成了git与github的绑定git基本概念git init 初始化把一个文件夹进行git init就是把这个文件夹使用git管理起来让这个文件夹变成一个git仓库这是使用git的第一步。在vs code里面选择open folder打开电脑上的任意一个文件夹这个文件夹可以是空文件夹也可以是非空的找到左侧的source control也就是源代码管理点击这个按钮这样就完成了仓库的初始化初始化完成以后我们看到这个文件夹里面多了一个.git的子文件夹这个子文件夹里存储了一切与git有关的数据如果把这个.git文件夹删除就取消了git对文件夹的管理这个文件夹也就不再是一个git仓库了.gitignore 忽略清单是一个文件这个文件里面声明了仓库里面哪些文件不应该受到Git的管理比如我们的文件夹里有存储了密钥的.env文件这些文件应该安全地保存在本地不应该被Git管理更不能上传到github上面我们可以在仓库根目录新建一个.gitignore文件然后再里面写一行.env这个文件就不再被Git管理还有一种情况像是nodejs项目的node_modules文件夹存放量所有第三方依赖包通常里面包含了成千上万个文件如果其他人需要可以使用npm install随时下载因此我们通常会把node_modules目录也添加进.gitignore注意node_modules需要添加一个/表示这是一个目录这样整个目录就被排除在外.gitignore最好在项目初始化的时候就一起创建好这样可以从一开始就避免把不应该提交的内容提交到仓库里面commit 提交我们来到vs code进入项目目录创建一个新的文件fruits.txt输入香蕉点击左侧的resource control可以看到有两个等待提交的文件填写提交摘要讲清楚需要做的事情点击commit这样提交就完成了。然后又增加了一个水果点击commit在下面的graph可以看到每次提交的历史链路然后展开具体的某一次commit可以看到那次提交的文件改动情况如果想要查看某次提交当时的代码情况我们可以把鼠标移动到某次提交上面右键checkout这样整过仓库就回退到了某个历史版本不过这个状态只适合查看代码并不适合更改任何代码原因就在于detached这个词中文翻译过来叫做分离头指针分离头指针表示当前不处于任何一个分支的管理中在这里面修改容易搞丢代码。如果想把仓库回到最新的状态可以点击左下角的按钮然后选择master这样我们的仓库又重新回到了主干也就是最新的状态。每次提交除了有commit message还有id把鼠标放到某一次提交上面有一个数字加英文的小编号这个就是提交的id叫做commitID这个ID是git通过Hash算法自动计算出来的所以commit ID又叫做commit Hash把这个id复制一下粘贴到一个空白文件我们发现粘贴出来id变长了其实这个长id前面7为跟短id是一样的所以commit id有两种一种是长id一中是短id短id比较方便记忆。commit id在一个仓库里面是绝对唯一的所以我们跟ai交流的时候最好直接使用commit id这样会更加精确这里我们让ai帮我把山竹跟苹果这两次提交整个移除掉把仓库回退到荔枝这个状态我们在荔枝上面右键选择copy commit hash然后把id粘贴给aiai在底层执行的核心命令是git reset --hard当我们想撤销掉某次提交想要比较一下新增荔枝跟新增橘子这两次提交之间修改了什么内容Branch 分支分支简单来说就是存储库的不同开发线默认情况下每个仓库都有一个main分支或者master分支也就是主干分支创建分支也就是创建副本创建分支的操作在Git里是通过指针来实现的并不需要拷贝代码比如在main分支上创建一个feature分支feature刚创建出来的时候它与主干的代码是一样的