self-hacking第五天

  Starting!!

 

 从今天开始,就要自己进行hacking我的配置文件。

  接触Git是在大一的时候,which is 作为一个开发者的必备技能。今天重新整理了一些经常使用的GIt笔记。

  这是Git官网

 1 /*
 2     
 3  Git配置:
 4       git config --global user.name "YourName"
 5       git config --global user.email "exmaple@example.com"
 6 
 7       查看自己电脑上的配置:git config --list
 8 
 9   
10     Git仓库初始化:git init
11       如果在你的工作目录下需要建立.gitignore文件,那一定要在初始化之前,否则该文件是不起作用的。
12 
13     工作区:是指你需要进行版本控制的目录。这个目录下有.git目录是Git的版本库。里面有称为stage(或index)的暂存区,和Git自动创建的master,以及指向master的指针HEAD。
14 
15       git add 将文件添加到咱暂存区。可以多次添加。  
16       git commit -m "$$$" 将暂存区的内容一次性的提交到当前分支。
17 
18 
19     查看工作区的状态:git status
20     查看文件的修改内容:
21         git diff  工作区和暂存区的不同
22         git diff --cached    暂存区和当前分支master的不同
23         git diff HEAD --<file>   可以查看工作区和版本库最新版本的不同
24 
25     查看提交日志:
26         git log
27     简化日志信息:
28         git log --pretty=oneline
29     查看命令历史:
30         git reflog
31     上面三个提交命令显示的都是commit或的命令,也就是所只有将文件commit一次之后才算一次版本。这个时候如果想回到过去的某一个版本:
32         git reset --hard HEAD^
33         再Git中,HEAD表示当前版本,HEAD^表示上一个版本,HEAD^^表示上上个版本。第一百个版本HEAD~100.  
34     
35 
36     
37       
38 撤销更改:
39 
40       1.丢弃工作区的修改
41             git checkout -- <file>
42 
43           该命令是将工作区的修改撤销,分为两种:一种是工作区的修改还没有保存到暂存区中(unstaged)。直接回退到最开始的模样。一种是提交到暂存区中,又做了修改。这个时候该命令就会会退到add
44 命令之前,但是已经staged的内容不会变。
45   
46       2.丢弃暂存区的修改
47 
48             git reset HEAD <file>  将暂存区的内容撤销回掉(unstage),放到工作区中。
49             git checkout -- <file>  撤销工作区的修改
50 
51 
52 
53     总结:
54         a.当你该乱了工作区的文件,想直接放弃工作区的修改:git checkout -- <file> 
55         b.当你不但改乱了文件,还提交到了暂存区。首先将暂存区中的东西撤回到工作区 git reset HEAD <file>.然后放弃工作区的修改gir checkout --<file>
56         c.当你不但改乱了文件,还commit了文件到当前的分支master。那就需要进行版本的回退了,前提是还没有推送到远程仓库。
57 
58 
59 
60 删除文件:
61   git rm <file>
62 
63   该命令相当于:rm <file>   +   git add <file>.就是直接将删除的操作放进暂存区
64   
65   总结:
66     a.如果rm <file>误删了文件?  直接git checkout --<file>撤回工作区的修改就行了。
67     b.如果执行了git rm <file>误删了文件?  相当于撤回staged的命令。  首先git reset HEAD <file>撤回工作区,然后git checkout --<file>将工作区的修改恢复。
68     c.如果真想完全删除一个文件?   git rm <file>  + git commit -m "remove the file"
69 
70 
71 远程仓库:
72     
73 创建SSK-KEY: ssh-keygen -t rsa -C "useremail@example.com" 74   关联远程仓库: git remote add origin https://github.com/username/repositoryname.git 75 推送到远程仓库:git push -u origin master (-u表示将本地和远程的master连接起来,以后可以省略) 76 从远程克隆: git clone https://github.com/usern/repositoryname.git 77 78 79 80 81  因为现阶段使用的命令就这些,关于分支和其他的功能以后碰到了再总结吧。 82 83 84 */

   

  关于配置文件

 1 /*
 2   在每一个仓库中的.git/config中可以对当前的Git命令进行修改。
 3   在~/.gitcongfig总是对当前用户的Git命令进行修改,简化命令,会更加方便。
 4   配置的时候,--global是针对用户, 不加的话只对当前的仓库起作用。
 5   
 6   我的一些配置:
 7   git --config --global alias.st status
 8   git --config --global alias.co chexkout
 9   git --config --global alias.ci commit
10   git --config --global alias.unstage 'reset HEAD'
11   git --config --global alias.last 'log -1'
12   git --config --global alias.lg  "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'
                         --abbrev-commit"
13 */

 

posted @ 2018-02-09 15:11  HaotianMichael  阅读(157)  评论(0编辑  收藏  举报