Category - Git笔记

2019-04-24    267    0    0

开发过程中由开发工具生成的文件一般不需要提交,但每次开发工具会自动去修改这些文件,每次都要去提交这些东西,不提交会有一系列问题,很烦人。
可以通过配置.gitignore文件让Git不在跟踪记录这些文件。心血来潮去配置的时候,发现配置过的文件并没有生效,伤感万分,别担心有解决方案。先找原因,因为.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经纳入版本管理中,则

git    2018-11-26    143    0    0

如果在修改时发现修改错误,而要放弃本地修改时,

一、未使用 git add 缓存代码时

可以使用 

 
git checkout -- filepathname

 (比如: git checkout -- readme.md  ,不要忘记中间的 “--” ,不写就成了检出分支了!!)。放弃所有的文件修改可以使用 

 
git checkout .

 命令。

此命令用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改:内容修改与整个文件删除。但是此命令不会删除掉刚新建的文件。因为刚新建的文件还没已有加入到 git 的管理系统中。所以对于git是未知的。自己手动删除就好了。

二、已经使用了  git add 缓存了代码

可以使用  

 
git reset HEAD filepathname

 (比如: git reset HEAD readme.md)来放弃指定文件的缓存,放弃所以的缓存可以使用

 
 git reset HEAD .

 命令。

此命令用来清除 git  对于文件修改的缓存。相当于撤销 git add 命令所在的工作。在使用本命令后,本地的修改并不会消失,而是回到了如(一)所示的状态。继续用(一)中的操作,就可以放弃本地的修改。

三、已经用 git commit  提交了代码

可以使用 

 
git reset --hard HEAD^

 来回退到上一次commit的状态。此命令可以用来回退到任意版本:git reset --hard  commitid 

你可以使用 git log 命令来查看git的提交历史。git log 的输出如下,之一这里可以看到第一行就是

commitid:
 
commit cf0d692e982d8e372a07aaa6901c395eec73e356 (HEAD -> master)
Author: toyflivver <2440659688@qq.com>
Date: Thu Sep 28 14:07:14 2017 +0800
多余的空行
commit 14aa4d7ad4ac6fba59b4b8261d32e478e8cc99ff
Author: toyflivver <2440659688@qq.com>
Date: Thu Sep 28 14:06:44 2017 +0800
正常的代码
commit da3a95c84b6a92934ee30
2018-11-26    167    0    0

只适用于Mac和windows下的Git Bash操作界面。

一、检查本地是否有SSH Key存在

在终端输入

 
ls -al ~/.ssh

如果终端输出的是:

 
No such file or directory

那么就说明本地没有SSH key

如果已存在SSH key那么就会显示 id_rsa 和 id_rsa.pub文件的存在以及它的创建日期。

二、生成新的SSH key

首先在终端输入

 
ssh-keygen -t rsa -C "your_email@example.com"

your_email@example.com 为你在 GitHub或者GitLab 注册时的邮箱

回车后终端会显示:

 
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/xxx/.ssh/id_rsa):

提示你保存 .ssh/id_rsa 的路径是/Users/xxx/.ssh/id_rsa,直接按回车。

这里有一点,如果已经存在SSH key你想要使用以上操作重新生成的话会提示一你不是要重新生成,直接输入y并按回车。

然后终端会提示:

Bash
Created directory '/Users/xxx/.ssh'.
Enter passphrase (empty for no passphrase):

提示设置 passphrase,每次与 Git 通信都会要求输入 passphrase,以避免某些错误的操作所导致的问题,建议设置一下。

成功后终端会提示:

 
Your identification has been saved in /Users/xxx/.ssh/id_rsa.

Your public key has been saved in /Users/xxx/.ssh/id_rsa.pub.

The key fingerprint is:16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 your_email@example.com

The key's randomart image is:
心形图形

然后在终端输入:

 
ssh-add ~/.ssh/id_rsa

此时会要求输入上面步骤里所填的 passphrase

成功后,终端显示:

Identit