发表于: 2018-06-13 01:46:50

1 549


今天完成的:

        了解了用Git链接远程库GitHub,怎么Push以及Clone文件,了解了一些Linux的基本指令。

        本地Push到远程库:

Step1:创建SSH Key。 启动 Git Bash --> 输入 ssh-keygen -t rsa -C"我的邮箱"。此时用户目录下会出现一个.ssh目录,有id_rsa和id_rsa.pub两个文件,其中第一个是私钥,第二个是公钥。

Step2:登录GitHub --> Account Setting --> SSH Keys --> Add SSH Key,将公钥复制粘贴至文本框即可。

Step3:在GitHub上新建一个库用来和本地库远程同步。

Step4:在本地的testgit仓库下运行命令:$ git remote add origin git@github.com:Hanxiaoran906/testgit.git之后远程库的名字就是origin。

Step5:把本地库的所有内容推送到远程库:

        $ git push -u origin master (第一次需要加 -u ,将本地master分支推送到远程新的master分支,并把本地和远程的master分支关联起来)

        $ git push origin master (之后本地commit之后就可以直接push到远程库)

        Clone远程库:

$ git clone git@github.com:Hanxiaoran906/gitskills.git 即可把gitskills远程库clone到本地。

Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。

        关于分支:用来多人同步操作时,在未完成的情况下不影响主分支;完成任务后再将自己的分支与master合并。

        分支的操作:

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

Tip:合并分支的时候要先切换到master分支再进行合并,否则信息不能同步;在小分支里的时候不能删除当前分支,需要先切换到master再进行删除;未经合并的分支不能轻易删除,会有提示,若确定不进行合并,可输入 $ git branch -D <name> 进行删除。

        分支冲突的问题:

        当在<name>分支下修改并提交之后,切回master分支再进行修改并提交,之后将<name>分支合并到master分支的时候会发生冲突。

解决办法:把Git合并失败的文件手动编辑为我们希望的内容,再提交。之后就可以删除<name>分支了。

Tip: 可以通过 $ git log --graph 命令看到分支合并图。(git log --graph --pretty=oneline --abbrev-commit 可以看到简化版)

        分支管理策略(即分支的重要性):一般master分支只用来发布新版本,在开发中,我们都是在dev上进行工作。每个人都有自己的分支,然后将成果提交到dev分支上,版本发布时再提交到master分支。

        然而在合并分支的时候,Git会尽可能的使用Fast forward模式,这种模式在删除分支后会丢掉分支信息。如果我们强制禁用Fast forward,Git就会在merge的时候生成一个新的commit,这样从分支历史就可以看到分支信息。

在merge时加 --no-ff 参数即可: $ git merge --no-ff -m"注释信息" <name> 

      关于Linux的基本指令:

显示日期:date;

显示日历:cal;

计算器程序:bc;

Tab键---具有“命令补全”不“档案补齐”的功能;

Ctrl+c键---让当前的程序停掉;

Ctrl+d键---通常代表着:键盘输入结束的意思;另外,他也可以用来取代exit;

数据同步写入磁盘:sync;在内存中尚未保存的内容就会被保存到磁盘中,在关机或重启前可执行。

关机指令:shutdown;

        -t sec:过多少秒关机;

        -k :不是真的关机,只是发出警告讯息;

        -r :在将系统的服务停掉之后重新启动(常用);

        -h :将系统的服务停掉之后,立即关机(常用);

        -f :关机并开机之后,强制略过fsck的磁盘检查;

        -F :系统重新启动之后,强制进行fsck的磁盘检查;

        -c :取消已经在进行的shutdown指令内容。

        (时间必须要加!)

变换目录:cd;(cd ~file:表示去到file文件夹;cd ~:表示回到初始目录;cd:也表示回到初始目录;cd ..:表示去到上层(父)目录;cd -:表示去到上一个(刚刚)去的目录;cd xx1/xx2/xx3:绝对路径的去到xx3目录;cd ../xx4:相对路径的去到xx1/xx2/xx4)

显示当前路径:pwd;

建立新目录:mkdir;(mkdir <file name>;建立多层目录:mkdir -p xx1/xx2/xx3;)

删除空目录:rmdir;

档案与目录的显示:ls;

移除档案或目录:rm;(rm <file name>)

由第一行开始显示档案内容:cat;(cat <file name>)(加上属性 -n 会显示行号)

由最后一行开始显示档案内容: tac;(cat倒着写2333)

关于在配置SVN的时候出现了一些问题:

在建库的时候,因为考虑到按照例子来的话每看一个教程就会有一个新的库要建(现在我GitHub上都有3个库了 T_T,虽然有一个是空的没什么用),所以我就跳过建库步骤想直接关联本地版本库(E:/testgit)。然后.......

然而教程里新建的库(myRepositories)在列表里是这样:

之后在Security设置步骤也出现了错误:

emmmm.....

除了关于SVN的任务部分之外,别的基本上就没什么问题了。


明天计划的事情:

        1.把上面SVN的问题解决掉,提交任务2;

        2.开始任务3,学习PS切图、自适应相关知识。


遇到的问题:

        在学习Git和GitHub相关知识的时候,有些操作(顺序)稍有疑问,通过自己的实践基本解决,也都写在了上面的完成情况之中了。

还有就是SVN的问题。(嗯,因为SVN列表那里有问题,我就想把列表清空重新试一下,emmm,结果把本地文件给直接删掉了,瞬间懵逼,还好之前的项目push到了GitHub,给clone了回来,不过有一两个文件夹貌似没什么用来着没push也想不起来是什么了.......)

看Git教程的时候,里面也说了SVN的一些不足和Git的强大之处,这两个都作为版本管理软件,直接学更加好用的Git应该就可以了,为什么还要求学SVN的操作呢?


今天的收获:

更进一步的学习了Git,知道了Git的强大之处。

学会了如何将本地版本库的文件如何push到项目库里,及clone到本地。

成功的将(九宫格)项目放到了自己的云服务器上。




返回列表 返回列表
评论

    分享到