一、注册Github并创建仓库

这一步不细说了,需要科学上网,参考这篇文章,[[03_科学上网方法(如何访问Google, ChatGPT)|Google学术访问方法]]。

下载安装Git

二、下载Git并配置

2.1 Git安装

下载安装Git

在资源管理器内右键,选择Git bash here打开Git界面。

2.2 Git配置

输入下面的代码,按下回车,生成ssh密钥

1
ssh-keygen -t rsa -C "邮箱地址"

出现要求设置密码,可以不用设置,连续回车两次就可以。

打开C:\Users\用户名\.ssh,可以看到有一个id_rsa.pub文件,这就是刚才生成的密钥。

使用记事本打开此文件,复制里面的密钥内容。

2.3 Github添加ssh key

进入Github官网,点击右上角【setting --> SSH and GPG keys --> New SSH key】,在这里添加密钥,其中

  • Title:自己写一个ssh key的名字,用于区分多个ssh key
  • Key:刚刚复制的密钥
    填写完成后点击Add SSH key添加。

然后在git bash中输入

1
ssh -T git@github.com

如果连接成功,会让你输入yes/no,输入yes即可。

2.4 配置用户名和邮箱

输入下面的代码配置自己的用户名和邮箱,两个信息都要和Github账号的信息一致

1
2
git config --global user.name "用户名"
git config --global user.email "邮箱"

三、代码管理

3.1 代码上传

(1)初始化

创建一个文件夹,在这个文件夹内,右键git bash here,然后输入git init完成初始化。

可以看到目录中出现了一个.git隐藏文件夹,这说明已经完成了初始化。

(2)链接远程仓库

在刚刚的git bash窗口,输入下面的命令同步到远程仓库

1
git remote add origin git@github.com:用户名/仓库名.git

如果出现fatal: remote origin already exists.可按以下步骤

1
2
3
git remote rm origin
git remote add origin git@github.com:用户名/仓库名.git
git pull git@github.com:用户名/仓库名.git

(3)上传本地文件

添加本地文件

1
git add.

提交本地文件

1
git commit -m "说明信息,一般说明本次提交更新了什么"

推送到远端仓库

1
2
3
git push git@github.com:用户名/仓库名.git
#
git push origin master

3.2 拉取代码

从项目中拉取代码

1
git pull origin master

如果出现fatal: refusing to merge unrelated histories

1
git pull origin master --allow-unrelated-histories

3.3 分支管理

(1)查看分支

在命令行窗口的光标处,输入git branch命令,查看 Git 仓库的分支情况。分支前有*表示是当前所在的分支。

(2)创建分支

使用下面的命令创建一个名为a的分支

1
git branch a

(3)分支切换

在命令行窗口的光标处,输入git checkout a命令,切换到a分支。

(4)合并分支

切换到master分支,然后输入git merge a命令,将a分支合并到master分支。

(5)删除分支

在命令行窗口的光标处,输入git branch -d a命令,删除a分支。

(6)为分支添加标签

在命令行窗口的光标处,输入git tag test_tag命令,为当前分支添加标签test_tag

3.4 修改分支名称

假设分支名称为oldName,想要修改为 newName

  1. 本地分支重命名(还没有推送到远程)
1
git branch -m oldName newName
  1. 远程分支重命名 (已经推送远程-假设本地分支和远程对应分支名称相同)

重命名远程分支对应的本地分支

1
git branch -m oldName newName

到github修改默认分支的分支名。

上传新命名的本地分支

1
git push origin newName

把修改后的本地分支与远程分支关联

1
git branch --set-upstream-to origin/newName

注意:如果本地分支已经关联了远程分支,需要先解除原先的关联关系:

1
git branch --unset-upstream 

3.5 报错信息

(1)error: src refspec master does not match any. error: failed to push some refs to

仔细检查push的是master分支还是main分支。