Yo!这应该就是我的最後一篇的铁人文啦!撒花
其实Git真的很多东西可以说,一下子要讲一些细节的操作真的很花篇幅,但偏偏铁人只有30天,其实要说操作Git这件事情,我个人认为其实在实作的过程真的要用Git做事情,除了本地端用Git自己纪录自己的东西,其他的就是Git跟GitHub的连结了。
Well,其实自己之前也用过GitHub上传过资料,但我那个时候不知道Git,所以我就直接把档案拖曳进去GitHub上,真的超虾!
都要干工程师了,总要用一些工程师Skill吧!
那我们就开始罗!
专案名称输入一下:
然後就给它create repository点下去
这个时候就会看到这些详细的资料,好啦就是说明一些Git的指令:
那这边主要会有两种途径说明:
如果是要做一个全新专案,那就采用上面的:
create a new repository on the command line
如果要上传新的专案,那就采用下面的
push an existing repository from the command line
先创个目录,然後把一个叫做README的档案加进去:
然後一样
git add READ.ed
git commit -m "first commit"
完成之後,我们接下来要设定推上GitHub服务器的设定了!
需要取用远端节点的一些资料:
[email protected]:terminal201467/practice-git.git
设定好了远端节点之後,就来推东西上去吧!
git push -u origin master
try agin:
嗯?看来问题是出在public key,来去看看。
关於public key是什麽呢?这边简单的讲一下:其实我们Push在Git里面做过的纪录,其中一个过程就是确认git跟GitHub的连接要透过什麽辨认....我的理解是这样。
所以我们挑选用SSH来作为远端的辨认的时候,势必要设定一组Key,来作为我们Push的关键。
上面那个错误我们其实就是着重於:
[email protected]:Permission denied (publickey).
所以这个时候,就要去创建个key了:
ssh-keygen -t rsa
然後就会出现下面这个画面,然後就给它按下y,这个时候key就创完了。
然後下面两个指令也要做一下,把新的ssh-key加进去git里面
ssh-add
ssh-agent
但最後这个指令一定要输入,才会产生丢在git上面的金钥。
cat ~/.ssh/id_rsa.pub
上面这个指令输完了之後,我们就去GitHub设定SSH金钥吧:
SSH and GPG keys
新增一个金钥,然後把刚刚下面这个指令产生的一大堆乱码贴过去,然後title稍微设一下就可以了
cat ~/.ssh/id_rsa.pub
(下面是完成图)
然後我们再push一次吧!
git push -u origin master
呜呜,好感动,终於把东西push上去GitHub了。
如果说Push就是把自己在git上的纪录传上去,那麽Pull就是把GitHub上的东西拉下来,这个应该很直白。
所以....这个时候要来介绍一个指令:
git fetch
简单的说,这个指令就是会把GitHub的东西拉下来
那我来试试。
嗯?Nothing happend。
啊,因为GitHub上面的东西跟我现在Git的东西是一样的齁,所以我要在GitHub上做一些改动。
下面我会新增一个README
然後再试一次:
git fetch
哦!?可以看到上面有一个小小的提示,也就是
master->origin/master
这个可以解读成,它就是一个从master分出去的分支这样,
然後进度还比它新,but它并不是一个正式的branch。
这个时候如果要让Git的进度跟上从GitHub上fetch下来的东西,我们就用一个熟悉的陌生人:
git merge origin/master
如果我们知道Fetch到底在干些什麽,Pull应该就算更简单的一件事情了,首先来改一下刚刚的README:
然後:
git pull
这个时候,就会是fetch+merge的结果了,顺吧?
然後,其实也有另外一种pull的方式,叫做:
git pull --rebase
这个其实就是fetch下来之後,用rebase的方式去处理,让整个commit纪录不用再多出一个,详情可以去看merge以及rebase的差别。
总之,Push、Pull大概就是这样的两个概念,如果这篇文章有帮助到在学Git的大家,应该就值得了XD
嗯,写到现在大概知道一些Swift与Git的基本技巧与概念,希望可以在实作中更熟习,有时候碰到自己不熟悉的状况时,还是要上网找或是翻书,这些都会在开发中让你更有系统地去判断现在问题的来源!
总之,铁人赛算是挑战成功啦XD
下台一鞠躬(撒花
之後应该还会在Medium上努力写文啦,之後也会思考自己的blog经营的面向会往什麽方向,许多基本的知识前辈们其实都已经写了很多文章了,或许我可以做的是翻译?
如果有兴趣可以来我的blog逛逛?
我是MJ,咱们下次铁人赛 or Medium再见。
铁人赛
首页完成後 让使用者可以进入使用者个人文件页 列出属於此使用者的文件 我已经先用测试网页塞了测试资料...
自我介绍 大家好,我是你们这30天的向导,我叫Andy Chiang,目前就读中兴大学资工系,大二升...
对PostBack Event中的字串进行处理,由於这个参数仅能放入字串,所以可以套用网页Query...
这边一样是在研究 D14 介面的函式超载运用,又提到 namespace 的知识点,所以回头来补相关...
很遗憾在第21天时没能来得及完成文章,虽然铁人赛中断了,後续还是努力完成30篇的篇幅,自己至少有在铁...