-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcontent.json
More file actions
1 lines (1 loc) · 12 KB
/
Copy pathcontent.json
File metadata and controls
1 lines (1 loc) · 12 KB
1
{"meta":{"title":"hgw的博客","subtitle":null,"description":"个人博客","author":"hgw","url":"http://yoursite.com"},"pages":[{"title":"分类","date":"2017-06-18T03:42:12.000Z","updated":"2017-06-18T05:47:48.738Z","comments":false,"path":"categories/index.html","permalink":"http://yoursite.com/categories/index.html","excerpt":"","text":""}],"posts":[{"title":"code_style","slug":"code-style","date":"2017-07-05T13:52:32.000Z","updated":"2017-07-05T14:08:59.029Z","comments":true,"path":"2017/07/05/code-style/","link":"","permalink":"http://yoursite.com/2017/07/05/code-style/","excerpt":"","text":"代码规范 每个源文件都对应一个头文件(XX .cpp 与 XX.h) 所有头文件都应该有#define防护装置,以防止多个包含。符号名称的格式应为 。**_**_**_H_ 包含次序标准化避免隐藏依赖 c语言的头文件 c++语言的头文件 其他库的头文件 本项目的头文件 函数参数过多时,以“,”结尾每行一个变量对齐 例如123int checkenemy(int post, int speed, int id) 命名规则 命名规则重要的是一致性 一般命名规则: 名称应该是描述性的; 避免缩写。 重要的是让您的代码可以立即被新的读者理解 不要通过删除单词内的字母进行缩写。 文件名应全部小写,并可以包含下划线(_)或破折号(-) 变量的名称(包括函数参数)和数据成员都是小写的,单词之间有下划线。 通常,函数应该以大写字母开头,并为每个新单词大写字母。这些名字不应该有下划线 例如123AddTableEntry()DeleteUrl()OpenFileOrDie() 对于注释:虽然意见非常重要,但最好的代码是自我记录。给出类型和变量的合理名称比使用模糊的名称好得多,然后您必须通过评论来解释。 使用//或/* */ 语法,需要你保持一致。 if 和else关键字属于单独的行 if ,switch,else if ,for while后的括号内无空格,(condition)左右一个空格,if执行体2个空格缩进 运算符左右两边加空格,前置自增运算前面要加空格,条件变量过多时要注意左对齐 例如12345for (int i = 0;i < kSomeNumber; ++i){ if (this_one_thing > this_other_thing && a_third_thing ==a_fourth_thing) { }} 头文件名用小写,头文件尽量使用前置声明 保护宏结尾加注释 例如1#endif //PROJECT_EVENTLOOP_H_ ","categories":[{"name":"code-style","slug":"code-style","permalink":"http://yoursite.com/categories/code-style/"}],"tags":[]},{"title":"git learn","slug":"git-learn","date":"2017-06-29T17:50:43.000Z","updated":"2017-07-01T07:30:08.003Z","comments":true,"path":"2017/06/30/git-learn/","link":"","permalink":"http://yoursite.com/2017/06/30/git-learn/","excerpt":"","text":"git的学习 git是什么?git是一个版本管理软件,是指同一个文件,想要编写不同版本,和代码管理的一个工具。 使用情况一在写代码时,突然有一个很好的想法,但是你不确定,这个版本是不是可行,这时你可能会想着去保存原来的一个版本,并且从新去新建一个文件或者文件夹。当你的版本有很多时你都会忘掉你是最初的版本是哪个文件了,而且还需要找来找去的。这时当你用了git后你会发现这一切就只用一个命令就可以去实现。 使用情况二在你写代码的时候,上级又给你一个新的小任务,但是你又不得不去停下自己现在的主任务去完成你的小任务,这时又选择重新保存一下吗?你可以选择用git,一个命令去解决这些问题 使用情况三当一个项目做大了,身为项目负责人的你,怎么将每个人的代码合并起来,并且比对不同点?是用自己的眼睛去观察,和根据自己的经验吗?这些都可以用git去管理 使用情况四当你写好代码时,出去有点事时,回来你发现你的代码和以前的有些不一样,这时的你应该是怎么办?git还是可以用一条命令去还原你的代码。 git的安装如果没有什么特别是习惯可以无脑下一步,也可以根据自己的习惯修改安装路径ps:建议不要取消安装git-GUI,和git-bash方便下面的操作 git的使用ps:命名一定要用英文,使用中文可能会出现编码乱码的问题。 1.初始化仓库git中有自己的名词,将普通的文件夹和git的文件夹做出区分,把git的文件夹叫做仓库。初始化后,就可以和普通的文件夹一样存放文件。只是仓库可以储存不同的版本,但是普通的文件夹不行。操作:在你想要转化成git仓库文件夹中,点击右键选择git-bash输入命令12命令为: git init 2.添加当你写好了你的代码的时候想要保存一下,作为一个阶段的完整代码,这时就可以向git发出一个保存的命令,就可以添加到git仓库中。操作:在你想要提交的文件夹中,点击右键选择git-bash输入命令12345678命令为: git add 【文件名】(ps:一定要加上后缀名)例如: git add hello_word.text 当要添加多个文件时: git add hello.txt world.txt或者: git add --all 3.提交当你添加完后,这还不是完整的保存了你的版本,这时你还需要,去提交一下你的请求,这样保证了数据的安全性,也给了你一个重新修改的机会操作:在你添加到仓库后,继续输入提交命令12345命令为: git commit -m "版本名"例如: git commit -m "hello_world"ps:没有被添加到仓库的文件不会被提交 4.查看与不同当你添加文件后或者发现自己的文件好像被修改过,想要看看,你是git的状态, 是在添加到了仓库中了,还是已经提交了,还是是否有被修改。操作:在你的仓库中,点击右键选择git-bash输入命令12命令为: git status 查看你被修改的文件1234命令为: git diff 【文件名】(ps:一定要加上后缀名)例如: git diff hello_world.txt 5.切换版本当你感觉你这个版本写的很不好,不管你是提交了或者没有提交,想要回到以前的版本,这时你先需要知道你那个版本的版本名和提交的id提交的ID是git区分不同版本一个信息版本名是我们自己区分不同版本的信息操作:在你的仓库中,点击右键选择git-bash输入命令12345678命令为: git log如果感觉太多了可以将一个版本的信息打印在一行: git log --pretty=oneline例如: git log --pretty=oneline3628164fb26d48395383f8f31179f24e0882e3e0 hello_world打印的信息一个是提交的ID,一个是版本名 知道了版本的ID之后就可以切换历史版本了,而且切换的方法有两种方法:1234567命令为: git reset --hard HEAD~n(往上几个版本)或者: git reset --hard 【版本提交的id】例如: git reset --hard HEAD~3 git reset --hard 3628164fb26d48395383f8f31179f24e0882e3e0 但的如果想要从历史版本切换回来,先要知道切换之前的版本的提交id号123命令为: git reflog可以查看到历史提交的命令,版本名和提交id,知道id后可以用切换版本的方法切换回来原来的版本 6.撤销修改如果你发现你的文件有被修改,想还原,你可以选择删除和修改,但是应该你修改的地方太多了,删除的地方不知道在那,你可以选择撤销修改如果你没有将文件添加到仓库中你可以使用下面这个命令12命令为: git checkout -- 【文件名】(ps:一定要加上后缀名) 如果你已经将文件添加到仓库中了你可以使用下面这个命令12命令为: git reset HEAD 【文件名】(ps:一定要加上后缀名) 如果你已经提交了你的文件,可以使用上一节中的版本切换 7.删除文件这个就有两种情况了 如果你想要只直接删除这个文件,就可以直接删掉,提交该版本,就可以了 如果你误删了你的文件可以用checkout 返回你的操作12命令为: git checkout --【文件名】(ps:一定要加上后缀名) 8.远程仓库自己的电脑中总是会有些情况会不方便携带,有时实验或者工作写好的一个版本,怎么样回家后继续写呢?这里介绍一个网站GitHub,一个远程托管你的代码的一个仓库,你可以将你的代码放在这个网站上,并且随时下载。这个网站也是一个开源的网站,你也可以找到你想要的代码下载并使用。怎么使用这个远程仓库呢? 需要注册一个GitHub账户并且新建一个repository 给自己电脑的git上添加你GitHub账户的信息 12git config --global user.name "Your Name"git config --global user.email "email@example.com" 添加秘钥(ps:如果你有多个电脑可以添加多个) 在自己的c盘中找到用户的家目录并找到.ssh文件夹例如:C:\\Users\\hgw.ssh 点击右键选择git-bash输入命令: 1ssh-keygen -t rsa -C "youremail@example.com" 生成秘钥id_rsa和公钥id_rsa.pub 用记事本打开id_rsa.pub,全部复制 登陆github账户打开“Account setting”,“SSH Keys” 点“Add SSH Key” 填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容 关联本地git和GitHub账户 1git remote add origin git@github.com:【GitHub账户名】/【远程仓库名】.git 将本地代码推到远端仓库中 1git push -u origin master 将自己或他人的代码克隆下来进入你想要克隆的代码仓库中,点击“clone or download”在出现的对话框的右上角选择use ssh,然后复制地址 12345克隆的命令为: git clone 【地址】例如: git clone git@github.com:linuxhgw/linuxhgw.github.io.git还可以用http的方法克隆仓库可以自己百度方法 9.分支假设情况一当你要做一个自己的主任务时,你的老板说现在需要提交一个你以后要做的一个小分支任务,你就需要先做一下你的分支小任务,在回来做你的主任务,而且完了还要将你的主任务和分支任务合并起来,如果只有一两个分支还好,但是分支多了,人工合并就会出现很多的问题,比如重命名,重复定义,修改错误,等等一些问题,这时git 又发挥作用了。 假设情况二当你是一个项目负责人时,你的成员都在写自己的代码,彼此没有影响,但当你合并还是会出现一系列的问题,这时你需要找到他们代码的不同点,会浪费你大量的时间,这时你还是可以用git。git的分支会解决你这一切的问题。 分支的创建合并第一:我们要了解的是我们一直的操作都是在一个叫主分支(master)上,有一个指针叫HEAD,它来选择我们是在哪个分支上。新建的分支可以合并到主分支上,但主分支不能合并到分分支上。第二:怎么样创建,查看,删除,切换分支12345678910创建分支命令: git branch 【分支名】查看分支命令: git branch切换分支命令: git checkout 【分支名】删除分支命令: git branch -d 【分支名】创建并切换分支命令: git checkout -b 【分支名】 第三:怎么合并分支12把XX分支合并到当前分支的命令: git merge 【分支名】 分支冲突如果两个人写下的东西有冲突,一个说a=0,一个说a=1,这时合并失败,用git status查看一下是什么文件冲突了,然后打开看看文件,会出现标出冲突的地方,这时修改了冲突后就可以添加到仓库,提交了。 小结这次只是简单的介绍了一下git和怎么简单的使用,如果平时不是在linux下工作不用刻意记住这些命令,只用知道大概的命令是干嘛的,以后就算用起来也知道在那找就好了。以后你们在Windows上主要是用客户端版(sourcetree)用法都是图形化界面,不会的自己百度,或者问我。这次的文档借鉴了一下廖雪峰的git学习,因为本来就是最开始就是在这个网站上学习的,如果有什么不懂的可以直接去该网站廖雪峰git学习以后我会继续写下git进阶版的使用,如果有时间的话,,,,","categories":[{"name":"git","slug":"git","permalink":"http://yoursite.com/categories/git/"}],"tags":[]}]}