一、Git全局配置
初次安装Git后,需要配置全局用户信息,这是提交代码时标识作者身份的基础。
# 查看所有配置项
$ git config -l
# 查看全局配置项
$ git config --global -l
# 设置全局用户名和邮箱
$ git config --global user.name 'YourName'
$ git config --global user.email 'your-email@example.com'
二、本地仓库的版本控制流程
1. 初始化仓库
在项目根目录执行初始化命令,会生成一个隐藏的 .git 文件夹,它包含了Git进行版本管理所需的所有数据。
$ git init
2. 提交到暂存区
在工作区完成代码编写或修改后,需要将文件提交到暂存区(Stage)。
# 查看文件状态(红色为工作区修改,绿色为已暂存)
$ git status
# 将指定文件或文件夹添加到暂存区
$ git add <file-name>
# 将所有最新修改的文件添加到暂存区
$ git add .
# 或
$ git add -A
# 将文件从暂存区移回工作区(取消暂存)
$ git reset HEAD <file-name>
3. 提交到历史区
将暂存区的内容创建一个永久的快照,提交到版本历史中。
$ git commit -m‘提交描述信息’
4. 查看与回滚历史
# 查看详细的提交历史
$ git log
# 查看所有操作记录(包括已回滚的提交)
$ git reflog
# 回滚到指定版本(使用版本号前7位即可)
$ git reset --hard <commit-hash>
# 强制推送回滚后的历史到远程仓库(谨慎使用)
$ git push origin HEAD --force
三、连接与同步远程仓库
1. 关联远程仓库
将本地仓库与GitHub、Gitee等平台的远程仓库建立连接。熟悉网络与系统配置有助于理解底层原理,更多内容可参考云栈社区的网络/系统板块。
# 添加远程仓库,通常命名为origin
$ git remote add origin <remote-repo-url>
# 查看已关联的远程仓库
$ git remote -v
# 移除与远程仓库的关联
$ git remote rm origin
2. 推送与拉取代码
在团队协作中,推送前先拉取远程最新代码是一个好习惯,可以避免冲突。
# 拉取远程仓库的更新
$ git pull origin master
# 将本地提交推送到远程仓库
$ git push origin master

3. 克隆远程仓库
获取远程仓库的完整副本到本地。
$ git clone <remote-repo-url> [local-folder-name]
四、分支管理
分支是Git最强大的功能之一,它让并行开发和功能隔离成为可能。
# 查看远程分支
$ git branch -r
# 查看所有分支(带最后提交信息)
$ git branch -v
# 创建新分支
$ git branch <branch-name>
# 切换到指定分支
$ git checkout <branch-name>
# 创建并切换到新分支
$ git checkout -b <branch-name>
# 查看本地分支
$ git branch --list
# 将本地分支推送到远程并建立追踪
$ git push -u origin <branch-name>
五、合并分支
将特性分支的工作成果整合到主分支。
# 1. 切换到要合并到的目标分支(如master)
$ git checkout master
# 2. 合并指定分支
$ git merge <feature-branch-name>
六、进阶与问题处理
Git Stash
临时存储工作目录的修改,让你可以清洁地切换分支。用法总结可参考相关技术博客。
Git Rebase
变基操作可以整理提交历史,使其成为一条直线。使用时需注意,它改写了提交历史,不适合在已共享的分支上使用。
连接超时问题
如果遇到 Failed to connect to github.com port 443 错误,通常是网络代理或防火墙设置问题,可以参考社区博客中的解决方案进行排查,这类运维/DevOps问题在云栈社区的对应板块也有深入讨论。
版本比对
在GitHub等平台上,可以直接通过URL比较两个版本或提交之间的差异:
https://github.com/username/repo-name/compare/<commit-hash-1>..<commit-hash-2>
掌握这些核心命令和流程,是进行高效团队协作和现代软件开发的基石。想深入了解其他开发基础知识,欢迎探索云栈社区的基础与综合板块。