-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
902 lines (405 loc) · 35 KB
/
Copy pathindex.html
File metadata and controls
902 lines (405 loc) · 35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
<!doctype html>
<html class="theme-next mist use-motion" lang="zh-Hans">
<head>
<meta charset="UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
<meta http-equiv="Cache-Control" content="no-transform" />
<meta http-equiv="Cache-Control" content="no-siteapp" />
<link href="/lib/fancybox/source/jquery.fancybox.css?v=2.1.5" rel="stylesheet" type="text/css" />
<link href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic&subset=latin,latin-ext" rel="stylesheet" type="text/css">
<link href="/lib/font-awesome/css/font-awesome.min.css?v=4.6.2" rel="stylesheet" type="text/css" />
<link href="/css/main.css?v=5.1.1" rel="stylesheet" type="text/css" />
<meta name="keywords" content="Hexo, NexT" />
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico?v=5.1.1" />
<meta name="description" content="个人博客">
<meta property="og:type" content="website">
<meta property="og:title" content="hgw的博客">
<meta property="og:url" content="http://yoursite.com/index.html">
<meta property="og:site_name" content="hgw的博客">
<meta property="og:description" content="个人博客">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="hgw的博客">
<meta name="twitter:description" content="个人博客">
<script type="text/javascript" id="hexo.configurations">
var NexT = window.NexT || {};
var CONFIG = {
root: '/',
scheme: 'Mist',
sidebar: {"position":"left","display":"post","offset":12,"offset_float":0,"b2t":false,"scrollpercent":false},
fancybox: true,
motion: true,
duoshuo: {
userId: '0',
author: '博主'
},
algolia: {
applicationID: '',
apiKey: '',
indexName: '',
hits: {"per_page":10},
labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
}
};
</script>
<link rel="canonical" href="http://yoursite.com/"/>
<title>hgw的博客</title>
</head>
<body itemscope itemtype="http://schema.org/WebPage" lang="zh-Hans">
<div class="container sidebar-position-left
page-home
">
<div class="headband"></div>
<header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
<div class="header-inner"><div class="site-brand-wrapper">
<div class="site-meta ">
<div class="custom-logo-site-title">
<a href="/" class="brand" rel="start">
<span class="logo-line-before"><i></i></span>
<span class="site-title">hgw的博客</span>
<span class="logo-line-after"><i></i></span>
</a>
</div>
<p class="site-subtitle"></p>
</div>
<div class="site-nav-toggle">
<button>
<span class="btn-bar"></span>
<span class="btn-bar"></span>
<span class="btn-bar"></span>
</button>
</div>
</div>
<nav class="site-nav">
<ul id="menu" class="menu">
<li class="menu-item menu-item-home">
<a href="/" rel="section">
<i class="menu-item-icon fa fa-fw fa-home"></i> <br />
首页
</a>
</li>
<li class="menu-item menu-item-categories">
<a href="/categories/" rel="section">
<i class="menu-item-icon fa fa-fw fa-th"></i> <br />
分类
</a>
</li>
<li class="menu-item menu-item-archives">
<a href="/archives/" rel="section">
<i class="menu-item-icon fa fa-fw fa-archive"></i> <br />
归档
</a>
</li>
<li class="menu-item menu-item-tags">
<a href="/tags/" rel="section">
<i class="menu-item-icon fa fa-fw fa-tags"></i> <br />
标签
</a>
</li>
</ul>
</nav>
</div>
</header>
<main id="main" class="main">
<div class="main-inner">
<div class="content-wrap">
<div id="content" class="content">
<section id="posts" class="posts-expand">
<article class="post post-type-normal " itemscope itemtype="http://schema.org/Article">
<link itemprop="mainEntityOfPage" href="http://yoursite.com/2017/07/05/code-style/">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="name" content="hgw">
<meta itemprop="description" content="">
<meta itemprop="image" content="/images/avatar.gif">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="hgw的博客">
</span>
<header class="post-header">
<h1 class="post-title" itemprop="name headline">
<a class="post-title-link" href="/2017/07/05/code-style/" itemprop="url">code_style</a></h1>
<div class="post-meta">
<span class="post-time">
<span class="post-meta-item-icon">
<i class="fa fa-calendar-o"></i>
</span>
<span class="post-meta-item-text">发表于</span>
<time title="创建于" itemprop="dateCreated datePublished" datetime="2017-07-05T21:52:32+08:00">
2017-07-05
</time>
</span>
<span class="post-category" >
<span class="post-meta-divider">|</span>
<span class="post-meta-item-icon">
<i class="fa fa-folder-o"></i>
</span>
<span class="post-meta-item-text">分类于</span>
<span itemprop="about" itemscope itemtype="http://schema.org/Thing">
<a href="/categories/code-style/" itemprop="url" rel="index">
<span itemprop="name">code-style</span>
</a>
</span>
</span>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<h1 id="代码规范"><a href="#代码规范" class="headerlink" title="代码规范"></a><center>代码规范<center></center></center></h1><hr>
<ol>
<li><p>每个源文件都对应一个头文件(XX .cpp 与 XX.h)</p>
</li>
<li><p>所有头文件都应该有<code>#define</code>防护装置,以防止多个包含。符号名称的格式应为 。<code>**_**_**_H_</code></p>
</li>
<li><p>包含次序标准化避免隐藏依赖</p>
<ol>
<li>c语言的头文件</li>
<li>c++语言的头文件</li>
<li>其他库的头文件</li>
<li>本项目的头文件</li>
</ol>
</li>
<li><p>函数参数过多时,以“,”结尾每行一个变量对齐</p>
<h6 id="例如"><a href="#例如" class="headerlink" title="例如"></a>例如</h6><figure class="highlight cpp"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line"><span class="function"><span class="keyword">int</span> <span class="title">checkenemy</span><span class="params">(<span class="keyword">int</span> post,</span></span></div><div class="line"> <span class="keyword">int</span> speed,</div><div class="line"> <span class="keyword">int</span> id)</div></pre></td></tr></table></figure>
</li>
<li><p>命名规则</p>
<p>命名规则重要的是一致性</p>
<p>一般命名规则:</p>
<ol>
<li><p>名称应该是描述性的; 避免缩写。</p>
</li>
<li><p>重要的是让您的代码可以立即被新的读者理解</p>
</li>
<li><p>不要通过删除单词内的字母进行缩写。</p>
</li>
<li><p>文件名应全部小写,并可以包含下划线(<code>_</code>)或破折号(<code>-</code>)</p>
</li>
<li><p>变量的名称(包括函数参数)和数据成员都是小写的,单词之间有下划线。</p>
</li>
<li><p>通常,函数应该以大写字母开头,并为每个新单词大写字母。这些名字不应该有下划线</p>
<h6 id="例如-1"><a href="#例如-1" class="headerlink" title="例如"></a>例如</h6><figure class="highlight cpp"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line">AddTableEntry()</div><div class="line">DeleteUrl()</div><div class="line">OpenFileOrDie()</div></pre></td></tr></table></figure>
<p> </p>
</li>
<li><p>对于注释:虽然意见非常重要,但最好的代码是自我记录。给出类型和变量的合理名称比使用模糊的名称好得多,然后您必须通过评论来解释。</p>
</li>
</ol>
</li>
<li><p>使用<code>//</code>或<code>/* */</code> 语法,需要你保持一致。</p>
</li>
<li><p><code>if</code> 和<code>else</code>关键字属于单独的行</p>
</li>
<li><p>if ,switch,else if ,for while后的括号内无空格,(condition)左右一个空格,if执行体2个空格缩进</p>
</li>
<li><p>运算符左右两边加空格,前置自增运算前面要加空格,条件变量过多时要注意左对齐</p>
<h6 id="例如-2"><a href="#例如-2" class="headerlink" title="例如"></a>例如</h6><figure class="highlight cpp"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div></pre></td><td class="code"><pre><div class="line"><span class="keyword">for</span> (<span class="keyword">int</span> i = <span class="number">0</span>;i < kSomeNumber; ++i){</div><div class="line"> <span class="keyword">if</span> (this_one_thing > this_other_thing &&</div><div class="line"> a_third_thing ==a_fourth_thing) { </div><div class="line"> }</div><div class="line">}</div></pre></td></tr></table></figure>
</li>
<li><p>头文件名用小写,头文件尽量使用前置声明</p>
</li>
<li><p>保护宏结尾加注释</p>
<h6 id="例如-3"><a href="#例如-3" class="headerlink" title="例如"></a>例如</h6><figure class="highlight cpp"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line"><span class="meta">#<span class="meta-keyword">endif</span> <span class="comment">//PROJECT_EVENTLOOP_H_</span></span></div></pre></td></tr></table></figure>
<p></p>
</li>
</ol>
</div>
<div>
</div>
<div>
</div>
<div>
</div>
<footer class="post-footer">
<div class="post-eof"></div>
</footer>
</article>
<article class="post post-type-normal " itemscope itemtype="http://schema.org/Article">
<link itemprop="mainEntityOfPage" href="http://yoursite.com/2017/06/30/git-learn/">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="name" content="hgw">
<meta itemprop="description" content="">
<meta itemprop="image" content="/images/avatar.gif">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="hgw的博客">
</span>
<header class="post-header">
<h1 class="post-title" itemprop="name headline">
<a class="post-title-link" href="/2017/06/30/git-learn/" itemprop="url">git learn</a></h1>
<div class="post-meta">
<span class="post-time">
<span class="post-meta-item-icon">
<i class="fa fa-calendar-o"></i>
</span>
<span class="post-meta-item-text">发表于</span>
<time title="创建于" itemprop="dateCreated datePublished" datetime="2017-06-30T01:50:43+08:00">
2017-06-30
</time>
</span>
<span class="post-category" >
<span class="post-meta-divider">|</span>
<span class="post-meta-item-icon">
<i class="fa fa-folder-o"></i>
</span>
<span class="post-meta-item-text">分类于</span>
<span itemprop="about" itemscope itemtype="http://schema.org/Thing">
<a href="/categories/git/" itemprop="url" rel="index">
<span itemprop="name">git</span>
</a>
</span>
</span>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<h1 id="git的学习"><a href="#git的学习" class="headerlink" title="git的学习 "></a><center>git的学习 </center></h1><h2 id="git是什么?"><a href="#git是什么?" class="headerlink" title="git是什么?"></a>git是什么?</h2><p>git是一个版本管理软件,是指同一个文件,想要编写不同版本,和代码管理的一个工具。</p>
<h6 id="使用情况一"><a href="#使用情况一" class="headerlink" title="使用情况一"></a>使用情况一</h6><p>在写代码时,突然有一个很好的想法,但是你不确定,这个版本是不是可行,这时你可能会想着去保存原来的一个版本,并且从新去新建一个文件或者文件夹。当你的版本有很多时你都会忘掉你是最初的版本是哪个文件了,而且还需要找来找去的。<br>这时当你用了git后你会发现这一切就只用一个命令就可以去实现。</p>
<h6 id="使用情况二"><a href="#使用情况二" class="headerlink" title="使用情况二"></a>使用情况二</h6><p>在你写代码的时候,上级又给你一个新的小任务,但是你又不得不去停下自己现在的主任务去完成你的小任务,这时又选择重新保存一下吗?你可以选择用git,一个命令去解决这些问题</p>
<h6 id="使用情况三"><a href="#使用情况三" class="headerlink" title="使用情况三"></a>使用情况三</h6><p>当一个项目做大了,身为项目负责人的你,怎么将每个人的代码合并起来,并且比对不同点?是用自己的眼睛去观察,和根据自己的经验吗?这些都可以用git去管理</p>
<h6 id="使用情况四"><a href="#使用情况四" class="headerlink" title="使用情况四"></a>使用情况四</h6><p>当你写好代码时,出去有点事时,回来你发现你的代码和以前的有些不一样,这时的你应该是怎么办?git还是可以用一条命令去还原你的代码。</p>
<hr>
<h2 id="git的安装"><a href="#git的安装" class="headerlink" title="git的安装"></a>git的安装</h2><p>如果没有什么特别是习惯可以无脑下一步,也可以根据自己的习惯修改安装路径<br>ps:建议不要取消安装git-GUI,和git-bash方便下面的操作</p>
<hr>
<h2 id="git的使用"><a href="#git的使用" class="headerlink" title="git的使用"></a>git的使用</h2><p>ps:命名一定要用英文,使用中文可能会出现编码乱码的问题。</p>
<h3 id="1-初始化仓库"><a href="#1-初始化仓库" class="headerlink" title="1.初始化仓库"></a>1.初始化仓库</h3><p>git中有自己的名词,将普通的文件夹和git的文件夹做出区分,把git的文件夹叫做仓库。初始化后,就可以和普通的文件夹一样存放文件。只是仓库可以储存不同的版本,但是普通的文件夹不行。<br>操作:<br>在你想要转化成git仓库文件夹中,点击右键选择git-bash输入命令<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">命令为:</div><div class="line"> git init</div></pre></td></tr></table></figure></p>
<h3 id="2-添加"><a href="#2-添加" class="headerlink" title="2.添加"></a>2.添加</h3><p>当你写好了你的代码的时候想要保存一下,作为一个阶段的完整代码,这时就可以向git发出一个保存的命令,就可以添加到git仓库中。<br>操作:<br>在你想要提交的文件夹中,点击右键选择git-bash输入命令<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div></pre></td><td class="code"><pre><div class="line">命令为:</div><div class="line"> git add 【文件名】(ps:一定要加上后缀名)</div><div class="line">例如:</div><div class="line"> git add hello_word.text </div><div class="line">当要添加多个文件时:</div><div class="line"> git add hello.txt world.txt</div><div class="line">或者:</div><div class="line"> git add --all</div></pre></td></tr></table></figure></p>
<h3 id="3-提交"><a href="#3-提交" class="headerlink" title="3.提交"></a>3.提交</h3><p>当你添加完后,这还不是完整的保存了你的版本,这时你还需要,去提交一下你的请求,这样保证了数据的安全性,也给了你一个重新修改的机会<br>操作:<br>在你添加到仓库后,继续输入提交命令<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div></pre></td><td class="code"><pre><div class="line">命令为:</div><div class="line"> git commit -m "版本名"</div><div class="line">例如:</div><div class="line"> git commit -m "hello_world"</div><div class="line">ps:没有被添加到仓库的文件不会被提交</div></pre></td></tr></table></figure></p>
<h3 id="4-查看与不同"><a href="#4-查看与不同" class="headerlink" title="4.查看与不同"></a>4.查看与不同</h3><p>当你添加文件后或者发现自己的文件好像被修改过,想要看看,你是git的状态, 是在添加到了仓库中了,还是已经提交了,还是是否有被修改。<br>操作:<br>在你的仓库中,点击右键选择git-bash输入命令<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">命令为:</div><div class="line"> git status</div></pre></td></tr></table></figure></p>
<p>查看你被修改的文件<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div></pre></td><td class="code"><pre><div class="line">命令为:</div><div class="line"> git diff 【文件名】(ps:一定要加上后缀名)</div><div class="line">例如:</div><div class="line"> git diff hello_world.txt</div></pre></td></tr></table></figure></p>
<h3 id="5-切换版本"><a href="#5-切换版本" class="headerlink" title="5.切换版本"></a>5.切换版本</h3><p>当你感觉你这个版本写的很不好,不管你是提交了或者没有提交,想要回到以前的版本,这时你先需要知道你那个版本的版本名和提交的id<br>提交的ID是git区分不同版本一个信息<br>版本名是我们自己区分不同版本的信息<br>操作:<br>在你的仓库中,点击右键选择git-bash输入命令<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div></pre></td><td class="code"><pre><div class="line">命令为:</div><div class="line"> git log</div><div class="line">如果感觉太多了可以将一个版本的信息打印在一行:</div><div class="line"> git log --pretty=oneline</div><div class="line">例如:</div><div class="line"> git log --pretty=oneline</div><div class="line">3628164fb26d48395383f8f31179f24e0882e3e0 hello_world</div><div class="line">打印的信息一个是提交的ID,一个是版本名</div></pre></td></tr></table></figure></p>
<p>知道了版本的ID之后就可以切换历史版本了,而且切换的方法有两种方法:<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div></pre></td><td class="code"><pre><div class="line">命令为:</div><div class="line"> git reset --hard HEAD~n(往上几个版本)</div><div class="line">或者:</div><div class="line"> git reset --hard 【版本提交的id】</div><div class="line">例如:</div><div class="line"> git reset --hard HEAD~3</div><div class="line"> git reset --hard 3628164fb26d48395383f8f31179f24e0882e3e0</div></pre></td></tr></table></figure></p>
<p>但的如果想要从历史版本切换回来,先要知道切换之前的版本的提交id号<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div></pre></td><td class="code"><pre><div class="line">命令为:</div><div class="line"> git reflog</div><div class="line">可以查看到历史提交的命令,版本名和提交id,知道id后可以用切换版本的方法切换回来原来的版本</div></pre></td></tr></table></figure></p>
<h3 id="6-撤销修改"><a href="#6-撤销修改" class="headerlink" title="6.撤销修改"></a>6.撤销修改</h3><p>如果你发现你的文件有被修改,想还原,你可以选择删除和修改,但是应该你修改的地方太多了,删除的地方不知道在那,你可以选择撤销修改<br>如果你没有将文件添加到仓库中你可以使用下面这个命令<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">命令为:</div><div class="line"> git checkout -- 【文件名】(ps:一定要加上后缀名)</div></pre></td></tr></table></figure></p>
<p>如果你已经将文件添加到仓库中了你可以使用下面这个命令<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">命令为:</div><div class="line"> git reset HEAD 【文件名】(ps:一定要加上后缀名)</div></pre></td></tr></table></figure></p>
<p>如果你已经提交了你的文件,可以使用上一节中的版本切换</p>
<h3 id="7-删除文件"><a href="#7-删除文件" class="headerlink" title="7.删除文件"></a>7.删除文件</h3><p>这个就有两种情况了</p>
<ol>
<li>如果你想要只直接删除这个文件,就可以直接删掉,提交该版本,就可以了</li>
<li>如果你误删了你的文件可以用checkout 返回你的操作<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">命令为:</div><div class="line"> git checkout --【文件名】(ps:一定要加上后缀名)</div></pre></td></tr></table></figure>
</li>
</ol>
<h3 id="8-远程仓库"><a href="#8-远程仓库" class="headerlink" title="8.远程仓库"></a>8.远程仓库</h3><p>自己的电脑中总是会有些情况会不方便携带,有时实验或者工作写好的一个版本,怎么样回家后继续写呢?<br>这里介绍一个网站GitHub,一个远程托管你的代码的一个仓库,你可以将你的代码放在这个网站上,并且随时下载。这个网站也是一个开源的网站,你也可以找到你想要的代码下载并使用。<br>怎么使用这个远程仓库呢?</p>
<ol>
<li>需要注册一个GitHub账户并且新建一个repository</li>
<li><p>给自己电脑的git上添加你GitHub账户的信息</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">git config --global user.name "Your Name"</div><div class="line">git config --global user.email "email@example.com"</div></pre></td></tr></table></figure>
</li>
<li><p>添加秘钥(ps:如果你有多个电脑可以添加多个)</p>
<ul>
<li>在自己的c盘中找到用户的家目录并找到.ssh文件夹<br>例如:<br>C:\Users\hgw.ssh</li>
<li><p>点击右键选择git-bash输入命令:</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">ssh-keygen -t rsa -C "youremail@example.com"</div></pre></td></tr></table></figure>
</li>
<li><p>生成秘钥id_rsa和公钥id_rsa.pub</p>
</li>
<li>用记事本打开id_rsa.pub,全部复制</li>
<li>登陆github账户打开“Account setting”,“SSH Keys”</li>
<li>点“Add SSH Key” 填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容</li>
</ul>
</li>
<li><p>关联本地git和GitHub账户</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">git remote add origin git@github.com:【GitHub账户名】/【远程仓库名】.git</div></pre></td></tr></table></figure>
</li>
<li><p>将本地代码推到远端仓库中</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">git push -u origin master</div></pre></td></tr></table></figure>
</li>
<li><p>将自己或他人的代码克隆下来<br>进入你想要克隆的代码仓库中,点击“clone or download”在出现的对话框的右上角选择use ssh,然后复制地址</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div></pre></td><td class="code"><pre><div class="line">克隆的命令为:</div><div class="line"> git clone 【地址】</div><div class="line">例如:</div><div class="line"> git clone git@github.com:linuxhgw/linuxhgw.github.io.git</div><div class="line">还可以用http的方法克隆仓库可以自己百度方法</div></pre></td></tr></table></figure>
</li>
</ol>
<h3 id="9-分支"><a href="#9-分支" class="headerlink" title="9.分支"></a>9.分支</h3><h6 id="假设情况一"><a href="#假设情况一" class="headerlink" title="假设情况一"></a>假设情况一</h6><p>当你要做一个自己的主任务时,你的老板说现在需要提交一个你以后要做的一个小分支任务,你就需要先做一下你的分支小任务,在回来做你的主任务,而且完了还要将你的主任务和分支任务合并起来,如果只有一两个分支还好,但是分支多了,人工合并就会出现很多的问题,比如重命名,重复定义,修改错误,等等一些问题,这时git 又发挥作用了。</p>
<h6 id="假设情况二"><a href="#假设情况二" class="headerlink" title="假设情况二"></a>假设情况二</h6><p>当你是一个项目负责人时,你的成员都在写自己的代码,彼此没有影响,但当你合并还是会出现一系列的问题,这时你需要找到他们代码的不同点,会浪费你大量的时间,这时你还是可以用git。git的分支会解决你这一切的问题。</p>
<h4 id="分支的创建合并"><a href="#分支的创建合并" class="headerlink" title="分支的创建合并"></a>分支的创建合并</h4><p>第一:<br>我们要了解的是我们一直的操作都是在一个叫主分支(master)上,有一个指针叫HEAD,它来选择我们是在哪个分支上。新建的分支可以合并到主分支上,但主分支不能合并到分分支上。<br>第二:<br>怎么样创建,查看,删除,切换分支<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div></pre></td><td class="code"><pre><div class="line">创建分支命令:</div><div class="line"> git branch 【分支名】</div><div class="line">查看分支命令:</div><div class="line"> git branch</div><div class="line">切换分支命令:</div><div class="line"> git checkout 【分支名】</div><div class="line">删除分支命令:</div><div class="line"> git branch -d 【分支名】</div><div class="line">创建并切换分支命令:</div><div class="line"> git checkout -b 【分支名】</div></pre></td></tr></table></figure></p>
<p>第三:<br>怎么合并分支<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">把XX分支合并到当前分支的命令:</div><div class="line"> git merge 【分支名】</div></pre></td></tr></table></figure></p>
<h4 id="分支冲突"><a href="#分支冲突" class="headerlink" title="分支冲突"></a>分支冲突</h4><p>如果两个人写下的东西有冲突,一个说a=0,一个说a=1,这时合并失败,用git status查看一下是什么文件冲突了,然后打开看看文件,会出现标出冲突的地方,这时修改了冲突后就可以添加到仓库,提交了。</p>
<h3 id="小结"><a href="#小结" class="headerlink" title="小结"></a>小结</h3><p>这次只是简单的介绍了一下git和怎么简单的使用,如果平时不是在linux下工作不用刻意记住这些命令,只用知道大概的命令是干嘛的,以后就算用起来也知道在那找就好了。以后你们在Windows上主要是用客户端版(sourcetree)用法都是图形化界面,不会的自己百度,或者问我。<br>这次的文档借鉴了一下廖雪峰的git学习,因为本来就是最开始就是在这个网站上学习的,如果有什么不懂的可以直接去该网站<br><a href="http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000" target="_blank" rel="external">廖雪峰git学习</a><br>以后我会继续写下git进阶版的使用,如果有时间的话,,,,</p>
</div>
<div>
</div>
<div>
</div>
<div>
</div>
<footer class="post-footer">
<div class="post-eof"></div>
</footer>
</article>
</section>
</div>
</div>
<div class="sidebar-toggle">
<div class="sidebar-toggle-line-wrap">
<span class="sidebar-toggle-line sidebar-toggle-line-first"></span>
<span class="sidebar-toggle-line sidebar-toggle-line-middle"></span>
<span class="sidebar-toggle-line sidebar-toggle-line-last"></span>
</div>
</div>
<aside id="sidebar" class="sidebar">
<div class="sidebar-inner">
<section class="site-overview sidebar-panel sidebar-panel-active">
<div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
<img class="site-author-image" itemprop="image"
src="/images/avatar.gif"
alt="hgw" />
<p class="site-author-name" itemprop="name">hgw</p>
<p class="site-description motion-element" itemprop="description">个人博客</p>
</div>
<nav class="site-state motion-element">
<div class="site-state-item site-state-posts">
<a href="/archives/">
<span class="site-state-item-count">2</span>
<span class="site-state-item-name">日志</span>
</a>
</div>
<div class="site-state-item site-state-categories">
<a href="/categories/index.html">
<span class="site-state-item-count">2</span>
<span class="site-state-item-name">分类</span>
</a>
</div>
</nav>
<div class="links-of-author motion-element">
</div>
</section>
</div>
</aside>
</div>
</main>
<footer id="footer" class="footer">
<div class="footer-inner">
<div class="copyright" >
©
<span itemprop="copyrightYear">2017</span>
<span class="with-love">
<i class="fa fa-heart"></i>
</span>
<span class="author" itemprop="copyrightHolder">hgw</span>
</div>
<div class="powered-by">
由 <a class="theme-link" href="https://hexo.io">Hexo</a> 强力驱动
</div>
<div class="theme-info">
主题 -
<a class="theme-link" href="https://github.com/iissnan/hexo-theme-next">
NexT.Mist
</a>
</div>
</div>
</footer>
<div class="back-to-top">
<i class="fa fa-arrow-up"></i>
</div>
</div>
<script type="text/javascript">
if (Object.prototype.toString.call(window.Promise) !== '[object Function]') {
window.Promise = null;
}
</script>
<script type="text/javascript" src="/lib/jquery/index.js?v=2.1.3"></script>
<script type="text/javascript" src="/lib/fastclick/lib/fastclick.min.js?v=1.0.6"></script>
<script type="text/javascript" src="/lib/jquery_lazyload/jquery.lazyload.js?v=1.9.7"></script>
<script type="text/javascript" src="/lib/velocity/velocity.min.js?v=1.2.1"></script>
<script type="text/javascript" src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
<script type="text/javascript" src="/lib/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>
<script type="text/javascript" src="/js/src/utils.js?v=5.1.1"></script>
<script type="text/javascript" src="/js/src/motion.js?v=5.1.1"></script>
<script type="text/javascript" src="/js/src/scrollspy.js?v=5.1.1"></script>
<script type="text/javascript" src="/js/src/post-details.js?v=5.1.1"></script>
<script type="text/javascript" src="/js/src/bootstrap.js?v=5.1.1"></script>
</body>
</html>