Files
6.S081-All-in-one/labs/use_git/git1.md
2021-08-22 09:34:53 +08:00

101 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 将实验代码提交到github
> [!DANGER]
> MIT 6.S081 这门课程每个lab对应一个git分支所以请不要擅自将***.git***目录删除或更改origin指向的仓库地址
(1). **首先将mit的实验代码克隆到本地**
```bash
git clone git://g.csail.mit.edu/xv6-labs-2020
```
(2). **在github创建一个新的空仓库**
创建完成后会有提示代码,请**不要**根据提示代码操作,并且记下右图中红色标注的仓库地址
![img](images/p1.png)![img](images/p2.png)
(3). **添加git仓库地址**
查看本地仓库的git配置文件可以看到***origin***主机名下已经有了对应的上游仓库地址
```bash
cd xv6-labs-2020/
cat .git/config
```
![img](images/p3.png)
因此我们不要使用***origin***可以使用其他主机名对应到github仓库例如我使用***github***
```bash
git remote add github 你的仓库地址
cat .git/config
```
![img](images/p4.png)
(4). **`git push`命令**
- **功能**`git push`命令用于从将本地的分支版本上传到远程并合并。
- **命令格式**
```bash
git push <远程主机名> <本地分支名>:<远程分支名>
```
如果本地分支名与远程分支名相同,则可以省略冒号:
```bash
git push <远程主机名> <本地分支名>
```
更多用法请自行搜索
(5). **将实验代码推送github仓库**
例如将实验1用到的***util***分支推送到github
```bash
git checkout util
git push github util:util
```
需要你输入账户密码,提交就成功了
其他实验仓库的提交同理
(6). **xv6实验git分支建议**
建议是每个实验创建一个测试分支,例如对于***util***来说
```bash
git checkout util # 切换到util分支
git checkout -b util_test # 建立并切换到util的测试分支
```
当你在***util_test***分支中每测试通过一个作业,请提交(`git commit`)你的代码,并将所做的修改合并(`git merge`)到***util***中,然后提交(`git push`到github
```bash
git add .
git commit -m "完成了第一个作业"
git checkout util
git merge util_test
git push github util:util
```
(7). **其他**
你还可以添加gitee防止github有时无法访问的问题