如何用github记录mit6s081-2020-labs学习过程
如何用github记录mit6s081-2020-labs学习过程
这个课程中包含了许多分支,每次lab都在不同的分支,我们首先在github网站上面新建一个仓库,不要勾选add readme,不然会创建一个默认的master分支。
然后把6s081的官方代码git clone到本地
git clone git://g.csail.mit.edu/xv6-labs-2020
可用查看一下git的配置情况,使用
cat .git/config
~/projects/tmp/xv6-labs-2020$ cat .git/config
[core]repositoryformatversion = 0filemode = truebare = falselogallrefupdates = true
[remote "origin"]url = git://g.csail.mit.edu/xv6-labs-2020fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]remote = originmerge = refs/heads/master
现在我们想要把本地代码上传到github仓库中,使用git remote add <分支名> <远程仓库地址>
,这是是一个 Git 命令,用来给本地仓库添加一个新的远程仓库地址。仓库地址最好使用ssh地址。
git remote add util git@github.com:Yujie-Ling/mit6s081.git
然后在用cat .git/config
,可以看到
~/projects/tmp/xv6-labs-2020$ cat .git/config
[core]repositoryformatversion = 0filemode = truebare = falselogallrefupdates = true
[remote "origin"]url = git://g.csail.mit.edu/xv6-labs-2020fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]remote = originmerge = refs/heads/master
[remote "util"]url = git@github.com:Yujie-Ling/mit6s081.gitfetch = +refs/heads/*:refs/remotes/util/*
现在就有一个远程分支 “util”;
通过git branch -a
可以查看所有的分支
lyj@LAPTOP-PSHBU979:~/projects/xv6-labs-2020$ git branch -amaster
* utilremotes/origin/HEAD -> origin/masterremotes/origin/cowremotes/origin/fsremotes/origin/lazyremotes/origin/lockremotes/origin/masterremotes/origin/mmapremotes/origin/netremotes/origin/pgtblremotes/origin/riscvremotes/origin/syscallremotes/origin/threadremotes/origin/trapsremotes/origin/utilremotes/util/util
其中带*
的分支表示目前所在的分支。
每次实验时,先切换到对应的本地分支,比如util分支,就使用git checkout util
使用cat .git/config
lyj@LAPTOP-PSHBU979:~/projects/xv6-labs-2020$ cat .git/config
[core]repositoryformatversion = 0filemode = truebare = falselogallrefupdates = true
[remote "origin"]url = git://g.csail.mit.edu/xv6-labs-2020fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]remote = originmerge = refs/heads/master
[branch "util"]remote = originmerge = refs/heads/utilvscode-merge-base = origin/util
[remote "util"]url = git@github.com:Yujie-Ling/mit6s081.gitfetch = +refs/heads/*:refs/remotes/util/*
可以看到现在有两个分支,可以理解为第一个util分支为本地的,第二个util为远程仓库的util分支,我们在本地的util分支上写好代码以后,通过
git add .
git commit -m "自己想说的话"
git push <本地分支名> <远程分支名>
这三条命令就能把本地的util分支的内容传到远程仓库的util分支上了。
具体使用是:
git add .
git commit -m "lab1 util"
git push util util
保险期间可以去github仓库看一下是否推送上去了。