Git 使用指南:从设置用户信息到项目提交的全流程教程

推荐使用目录查看所需


一、设置 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:保留该提交。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木木不迷茫(˵¯͒¯͒˵)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值