推荐使用目录查看所需
一、设置 Git 用户信息
1.全局设置(适用于所有 Git 仓库):
git config --global user.name "Your Name"
git config --global user.email you@example.com
2.仅针对当前仓库设置(如果您只想为当前项目设置):
git config user.name "Your Name"
git config user.email "you@example.com"
3.验证设置
git config --global –list
将列出所有全局配置,包括刚刚设置的用户名和电子邮件地址
二、获取项目到本地
1.建立自己的分支
进入项目仓库主页,然后点击fork
2.下载项目到本地
(1)下载
进入命令行
git clone 自己分支的网页地址
(2)查看目录检查
输入
dir
将列出项目目录中的所有文件和子目录
3.然后就可以在本地对项目进行修改了
三、同步本地项目到自己的git分支
1.查看目录:
输入
dir
将列出项目目录中的所有文件和子目录
2.进入项目目录下
cd 项目
3.同步资源
输入命令
git pull
4.加入缓存区
输入命令
git add .
空格后有个点.
将当前目录及其子目录中的所有更改(包括新文件、修改的文件和删除的文件)添加到暂存区(staging area)
5.添加注释
输入命令
git commit -m “注释内容”
6.同步
输入命令
git push
四、申请同步项目到别人的仓库
1.进入自己分支,点击Pull requests
然后按照提示操作(注意同步的项目方向)
2.等待对方通过
五、常见问题解决方案
1.下载代码到本地时中途被打断
1.git clone 自己分支地址 --depth 1
--depth 1:这个选项表示执行“浅克隆”(shallow clone)。浅克隆只会克隆最新的一次提交,不会获取整个项目的历史记录。
2.cd 仓库
可以用dir看目录后进入
3.git fetch –unshallow
git fetch:用于从远程仓库获取更改,但不会自动合并到当前分支。它只会下载远程的提交和分支信息。
--unshallow:这个选项将把之前执行的浅克隆(即仅获取了最新提交)的仓库转变为完整的克隆。执行此命令后,将能够访问整个提交历史
2.发现克隆错分支(已经克隆了主分支)
(1)首先进入仓库目录
cd (仓库)
(2)切换分支
git checkout 分支
(3)拉取该分支的最新内容
git pull origin 分支
3.使用ssh连接
(1)生成 SSH 密钥(如果尚未生成):
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
(2)添加 SSH 密钥到 ssh-agent:
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
按提示操作
(3)添加 SSH 公钥到 GitHub
复制公钥内容
打开 公钥.pub 文件,并将其内容复制到剪贴板。可以使用记事本或其他文本编辑器打开该文件。
登录 GitHub:
访问 SSH 密钥设置:
点击右上角头像,选择 Settings(设置)。
在左侧菜单中找到 SSH and GPG keys,点击进入。
点击 New SSH key 按钮。
添加公钥:
在 Title 字段中给密钥起个名字,例如 "My Laptop Key"。
在 Key 字段中粘贴复制的公钥内容。
点击 Add SSH key 按钮保存。
测试连接
ssh -T git@github.com
4.合并提交记录
1. 什么是合并提交记录(Squash Commits)?
Git 的合并提交记录,指的是将多个提交合并为一个提交,以保持提交历史的清晰和整洁。常用于以下场景:
- 提交历史中包含大量小改动。
- 清理提交时,将开发分支压缩为一个完整功能点的记录。
2. 操作步骤
交互式 Rebase 是最常用的合并提交记录方式。
步骤 1:选择起始提交(git log可以查看历史)
运行以下命令,指定从哪条提交开始进行 Rebase 操作:
git rebase -i HEAD~N
- N 是你想回溯的提交数量(从最近提交算起,包括当前提交)。例如,HEAD~3 表示对最近 3 条提交进行操作。
步骤 2:进入交互式 Rebase 界面
执行上述命令后,会显示类似以下的日志界面:
plaintext
pick 1234567 First commit
pick 89abcdef Second commit
pick fedcba98 Third commit
每一行代表一条提交记录,最前面的 pick 是 Rebase 的操作指令。
步骤 3:修改提交指令
将需要合并的提交改为 squash(简写为 s),保留第一条为 pick,如下所示:
plaintext
pick 1234567 First commit
squash 89abcdef Second commit
squash fedcba98 Third commit
- pick:保留该提交为最终的合并提交。
- squash:将对应提交合并到上一条 pick 的提交中。
步骤 4:编辑合并提交信息
保存后,Git 会进入编辑提交消息的界面,你可以修改最终的提交信息:
plaintext
# This is a combination of 3 commits.
# The first commit's message is:
First commit
# The following commit messages will also be included:
Second commit
Third commit
你可以将多余信息删除,最终提交信息可能为:
plaintext
Modify dualtimer and timer_counter
保存并退出。
步骤 5:完成 Rebase
运行以下命令确保 Rebase 成功完成
git rebase --continue
步骤 6:确认最终代码状态
可以运行以下命令确认代码文件已按预期修改:
git status
确保工作区干净,没有任何未跟踪或未提交的更改。如果一切正常,你会看到类似以下提示:
plaintext
On branch master
nothing to commit, working tree clean
步骤 7:推送更新到远程
如果你已经将分支推送到远程,记得用 --force 推送 Rebase 后的修改(因为提交历史已改变):
git push --force
如果没有冲突,合并操作将顺利完成。可以运行 git log 检查提交记录是否只剩一个。
5.删除提交记录
在五.4.合并提交记录的步骤 3:修改提交指令中:
将pick改为drop
drop:表示从提交历史中删除该提交。
pick:保留该提交。