登录gitee
- 登录方式:通过网站登录,使用注册时的账号(通常是手机号)和密码进行认证
创建仓库
-
新建仓库步骤
-
命名规范:仓库名称应尽量符合规范,避免与已有仓库冲突,建议使用有意义的命名
-
初始化设置:
-
选择.gitignore模板
-
添加README文件作为代码说明文档
-
使用默认的单分支模型(适合初学者)
-
-
-
仓库属性设置
-
开源许可:创建时默认为私有仓库,后期可改为开源
-
模板文件:
-
LICENSE文件:记录开源许可证信息
-
README文件:包含中英文两个版本的说明文档
-
-
把远端的仓库拉取下来
-
克隆方式选择
-
推荐协议:使用HTTPS协议而非SSH协议
-
SSH需要配置密钥对,过程复杂(所以一般不用)
-
HTTPS只需输入账号密码即可
-
-
-
克隆操作步骤
-
命令格式:git clone <仓库HTTPS地址>.git
-
认证信息:
-
用户名:gitee网站登录账号
-
密码:gitee网站登录密码(非系统密码)
-
-
结果验证:成功后会生成与仓库同名的本地目录
-
忽略文件操作
-
.gitignore文件作用
-
功能原理:列出需要被git忽略的文件后缀
-
实际效果:匹配到的文件不会被上传到远端仓库
-
查看方式:在Linux中使用ls -al查看(因为是隐藏文件)
-
-
本地仓库本质
-
核心组成:名为.git的隐藏目录及其内容
-
同步机制:
-
提交操作实质是同步.git目录内容
-
远端仓库会保存完全相同的.git目录结构
-
-
版本控制:.git目录包含分支配置和提交历史等版本信息
-
写代码并git操作
-
文件准备与添加
-
文件拷贝操作:将上级目录的*.c和*.h文件拷贝到当前目录,使用make dl创建process目录后,将所有.c和.h文件移动到process目录中
-
git add作用:将新增的文件(之前git没有跟踪的文件)添加到本地仓库的临时区域
-
特别注意:添加的是新增文件,不是修改已有文件
-
底层原理:文件经过二进制转码后存入.git目录(具体位置暂不深究)
-
-
-
提交操作详解
-
git commit命令:
-
完整格式:git commit -m "提交日志"
-
强制要求:-m选项后必须跟提交日志内容,否则会报错
-
日志规范:
-
禁止空白(必须填写有意义的内容)
-
禁止随意填写(如"abcd"等无意义内容)
-
不需要手动添加时间戳(系统自动记录)
-
-
-
commit本质:将临时区域的变更正式合并到本地仓库,此时远端仓库仍未更新
-
-
推送操作与完整流程
-
git push作用:将本地仓库的变更推送到远端服务器,完成代码同步
-
完整三步流程:
-
git add .:添加新文件到暂存区
-
git commit -m "描述":提交到本地仓库
-
git push:推送到远端仓库
-
-
密码提示:push时需要输入git账号密码(非系统root密码)
-
-
提交日志的重要性
-
日志查看方式:通过git log命令可查看完整提交历史,包含:
-
提交ID(长哈希值)
-
作者信息(用户名+邮箱)
-
提交时间戳
-
提交日志内容
-
-
专业要求:
-
在团队协作中,清晰的日志有助于他人理解代码变更
-
面试时可能被查看提交历史(如简历附git链接)
-
错误示例:模糊的日志可能导致后期维护困难,甚至被离职后追责
-
-
-
Git环境配置
-
安装方法:sudo apt-get install -y git(Linux环境,注意 apt-get和yum的区别)
-
首次配置:
-
必须设置用户名:git config --global user.name "姓名简写"
-
必须设置邮箱:git config --global user.email "真实邮箱"
-
-
配置重要性:
-
这些信息将永久记录在提交历史中
-
公司内部可能通过邮箱联系代码作者
-
建议使用真实姓名简写和工作邮箱(避免私人邮箱)
-
-
验证忽略文件配置
-
.gitignore文件配置
-
配置语法:使用*.扩展名格式指定要忽略的文件类型,例如*.txt忽略所有文本文件,*.sln忽略Visual Studio解决方案文件
-
测试方法:
-
创建测试文件(如test.txt)
-
执行git status查看文件状态
-
确认被忽略文件不会出现在待提交列表中
-
-
多级目录处理:需要在仓库根目录下的.gitignore文件进行配置才会全局生效
-
-
文件状态管理
-
新增文件检测:git status会显示"Untracked files"表示新文件
-
修改文件检测:显示"Modified"表示已跟踪文件的修改
-
批量添加:git add .会自动添加所有未跟踪和修改的文件
-
-
提交流程
-
标准流程:
-
git add <文件> 或 git add .
-
git commit -m "提交说明"
-
git push
-
-
提交说明规范:要求明确描述修改内容(如"修复野指针bug"),避免不专业的日志
-
远程仓库修改操作及冲突解决
-
冲突产生场景
-
典型场景:
-
开发者A在远程仓库直接修改文件
-
开发者B在本地修改同一文件
-
开发者B尝试git push时出现冲突
-
-
-
冲突解决方法
-
强制同步流程:
-
先执行git pull拉取远程变更
-
解决可能的合并冲突
-
重新git push
-
-
错误提示:冲突时会显示"rejected"提示,要求先整合远程变更
-
-
文件重命名操作
-
正确方法:使用git mv 旧文件名 新文件名而非直接重命名
-
操作流程:
-
git mv test.txt hello.txt
-
提交重命名操作
-
推送变更
-
-
-
文件删除操作
-
标准删除:使用git rm 文件名而非直接删除
-
完整流程:
-
git rm xx.txt
-
git commit -m "删除临时文件"
-
git push
-
-
-
提交记录查看
-
日志查看:git log显示完整提交历史,包括:
-
提交者信息
-
提交时间
-
提交说明
-
变更内容
-
注:所有Git操作建议在仓库根目录下执行以确保全局生效,部分操作(如.gitignore配置)需要提交到仓库才能完全生效。
-
-
基础操作
核心
-
仓库克隆:git clone 用于从远程仓库克隆项目到本地
-
添加文件:git add 将文件添加到暂存区
-
提交更改:git commit -m "message" 提交变更并添加描述信息
常用辅助命令
-
状态检查:git status 查看当前仓库状态
-
日志查看:git log 查看提交历史记录
-
文件操作:
-
git rm 删除文件
-
git mv 重命名文件
-
-
远程同步:git push 将本地提交推送到远程仓库
注意事项
-
提交不可修改:已提交记录无法直接修改,需删除仓库后重新提交(但会改变提交时间戳)
-
设计原则:Git设计上不允许随意修改历史记录,这是版本控制系统的核心特性
常见问题
提交绿点问题
-
更新机制:GitHub等平台的贡献绿点不是实时更新,通常会在夜间批量处理
-
解决方案:正常提交2-3天后会自动显示,无需特殊处理
认证配置
-
密码输入:git push时会要求输入用户名和密码
-
免密配置:
-
技术上支持配置免密码登录(课件中有具体方法)
-
但不推荐初学者使用免密配置,原因有二:
-
频繁输入有助于记忆重要密码
-
提交门槛能防止草率提交错误代码
-
-
建议
-
练习方式:
-
可使用Git Bash命令行操作(支持Linux命令)
-
也可使用图形界面工具(如TortoiseGit)
-
-
学习路径:
-
先掌握基础命令
-
后续可逐步学习分支管理、版本回退等高级功能
-
-
提交习惯:
-
建议保持手动输入密码的习惯
-
工作熟练后可考虑配置免密
-