在开始使用 Git 之前,你需要先安装它。不同操作系统的安装方法不同:
(git先实战,能从仓库上传,下载之后,在听课程,记住大致流程。以后使用就知道往哪里查了)
- Windows :可以从Git 官方网站下载安装程序,然后按照提示进行安装。
安装完成后,需要配置你的用户名和邮箱,这将用于标识你的提交:
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
本地文件
创建本地仓库
//进入到项目目录下。
// 右键 open git bash here
git init
添加文件到暂存区
将项目中的文件添加到 Git 的暂存区,使用git add
命令:
git add . # 添加当前目录下的所有文件
# 或者指定具体的文件
git add file1.txt file2.py
提交文件到本地仓库
将暂存区的文件提交到本地仓库,使用git commit
命令:
git commit -m "Initial commit"
其中-m
后面的内容是本次提交的说明信息。
推送代码到远程仓库
创建 CSDN 的 Git 仓库
- 登录 CSDN 账号,进入CSDN 代码托管平台。
- 点击 "新建仓库" 按钮,填写仓库名称、描述等信息,然后点击 "创建仓库"。
- 进入个人账号下,个人设置-》SSH公钥。
在本地生成SSH公钥。
打开 Git Bash然后执行以下命令:
生成 SSH 密钥对,将 [email protected] 替换为你在 GitCode 注册的邮箱
ssh-keygen -t rsa -b 4096 -C "[email protected]"
执行命令后,会提示你选择保存密钥的文件路径,直接按回车键使用默认路径。接着会提示你输入密码,你可以直接按回车键跳过,也可以设置一个密码来增强安全性。
将 SSH 公钥添加到 GitCode
参考gitcode公钥管理帮助SSH 公钥管理 | GitCode 帮助文档
生成密钥对后,需要将公钥添加到 GitCode 账户中。
查看公钥内容
-
Windows :在 Git Bash 中执行以下命令查看公钥内容:
cat ~/.ssh/id_rsa.pub
本地文件夹与 GitCode 仓库关联并上传
git remote add origin <your_repository_url>
将 <your_repository_url> 替换为你在 GitCode 上创建的仓库的 SSH 地址:

打开Clone会看到 SSH的项目地址

pull下远程仓库。和自己新建的项目合并。
git pull origin main --allow-unrelated-histories
#allow-unrelated-histories 选项合并
#这个选项允许你合并两个没有关联历史的仓库。你可以在 git pull 命令中添加该选项来完成合并操作
使用git push
命令来建立关联,同时将本地master
分支的内容推送到远程main
分支:
git push -u origin master:main
这里的参数解释如下:
-u
:表示设置上游分支,即建立本地分支和远程分支的关联,之后你可以直接使用git push
和git pull
命令,而无需再指定远程分支。origin
:是远程仓库的名称,通常默认是origin
。master:main
:冒号前的master
是本地分支名,冒号后的main
是远程分支名。
完成以上步骤后, 文件夹中的内容就会被上传到 GitCode 仓库中。
建立关联后,你可以直接使用以下命令推送和拉取代码:
-
推送代码:
git push
-
拉取代码:
git pull
git命令详解
一、基础操作
1. 初始化仓库
git init # 在当前目录初始化新仓库
git init <name> # 在指定目录初始化(目录需不存在)
2. 克隆远程仓库
git clone <url> # 克隆远程仓库到当前目录
git clone -b <branch> <url> # 克隆指定分支
3. 查看状态
git status # 查看工作区及暂存区状态
git status -s # 简洁模式显示状态
4. 添加文件到暂存区
git add <file> # 添加单个文件
git add . # 添加所有修改和新文件(不包括删除)
git add -A # 添加所有变动(包括删除)
git add -p # 交互式选择修改片段
5. 提交到本地仓库
git commit -m "message" # 提交暂存区内容
git commit -a -m "msg" # 跳过`git add`,直接提交已跟踪文件的修改
6. 查看提交历史
git log # 完整提交历史
git log --oneline # 单行显示提交记录
git log -p # 查看每次提交的代码差异
git log --graph # 图形化显示分支合并历史
二、分支操作
1. 创建/切换分支
git branch <branch> # 创建新分支(基于当前commit)
git checkout <branch> # 切换到指定分支
git checkout -b <branch> # 创建并切换到新分支(推荐)
2. 合并分支
git merge <branch> # 将指定分支合并到当前分支
git merge --abort # 取消合并冲突处理
3. 删除分支
git branch -d <branch> # 删除已合并的分支(安全)
git branch -D <branch> # 强制删除未合并的分支
4. 查看分支
git branch # 查看本地分支(当前分支前有*)
git branch -a # 查看所有分支(包括远程分支)
三、远程仓库操作
1. 关联远程仓库
git remote add origin <url> # 添加远程仓库别名(origin为默认)
git remote -v # 查看远程仓库地址
2. 推送代码
git push origin <branch> # 推送本地分支到远程
git push -u origin <branch> # 首次推送时设置上游分支(后续可简写`git push`)
git push origin --delete <branch> # 删除远程分支
3. 拉取代码
git pull origin <branch> # 拉取远程分支并合并到当前分支
git fetch origin # 仅下载远程变更,不自动合并
git pull --rebase # 拉取时使用变基(避免合并提交)
4. 同步远程分支
git fetch --all # 获取所有远程分支信息
git checkout -t origin/<branch> # 创建并切换到远程分支的本地跟踪分支
四、撤销与回退
1. 撤销工作区修改
git checkout -- <file> # 丢弃工作区指定文件的修改
git restore <file> # Git 2.23+ 推荐方式(同上)
2. 撤销暂存区修改
git reset HEAD <file> # 将文件移出暂存区(保留工作区修改)
git restore --staged <file> # Git 2.23+ 推荐方式
3. 回退到指定提交
git reset --soft <commit> # 回退到某次提交,保留修改(可重新提交)
git reset --mixed <commit> # 回退并清空暂存区(默认选项)
git reset --hard <commit> # 彻底回退,丢弃所有修改(慎用!)
4. 生成反向提交(修正错误提交)
git revert <commit> # 创建新提交,抵消指定提交的改动
五、其他实用命令
1. 标签管理
git tag <tag-name> # 创建轻量标签
git tag -a <tag-name> -m "msg" # 带注释的标签
git push origin --tags # 推送所有标签到远程
2.储藏工作进度
git stash # 暂存当前修改(未提交的)
git stash pop # 恢复最近一次储藏的修改
git stash list # 查看所有储藏记录
3. 查看文件差异
git diff # 工作区与暂存区的差异
git diff --staged # 暂存区与最新提交的差异
git diff <branch1> <branch2> # 比较两个分支的差异
4. 修改提交信息
git commit --amend # 修改最近一次提交的信息或合并新改动
六、进阶操作
1. 变基(Rebase)
git rebase <branch> # 将当前分支的提交变基到目标分支上
git rebase -i <commit> # 交互式变基(合并/修改/删除提交)
2. 重置远程仓库(谨慎使用!)
git push -f origin <branch> # 强制推送覆盖远程分支(仅在必要时使用)
七、配置与别名
1. 配置用户信息
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
2. 设置命令别名
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.st status
八、常见场景示例
1. 解决合并冲突
- 执行
git merge
或git pull
后出现冲突 - 手动编辑标记为
<<<<<<<
的文件,保留需要的代码 - 添加解决后的文件并提交:
git add . && git commit
2. 丢弃本地所有修改
git reset --hard HEAD # 丢弃所有未提交的修改
git clean -fd # 删除未被跟踪的文件和目录(慎用!)