WebStorm默认情况下一次只能打开一个项目,这点很不爽,其实是可以设置的。

方法:

File -> settings -> Directories -> Add Content Root 中添加你当前的工程目录

 

 

 

git reset

恢复到之前的版本

--mixed是git-reset的默认选项,它的作用是重置索引内容,将其定位到指定的项目版本,而不改变你的工作树中的所有内容,只是提示你有哪些文件还未更新。

--soft选项既不触动索引的位置,也不改变工作树中的任何内容。该选项会保留你在工作树中的所有更新并使之处于待提交状态。相当于在--mixed基础上加上git add。

--hard 把整个目录还原到一个版本,包括所有文件。

1,用版本库内容清空暂存区,git reset HEAD

2,只把特定文件从暂存区删除,git rm --cache

Hard

The ​​--hard​​ HEAD & index & working copy同时改变到你要reset到的那个commit上。这个参数很危险,执行了它,你的本地修改可能就丢失了。

git删除文件 

git rm 文件名

 

分支:

关于no-ff:

上面我们使用的合并分支是fast forward,这种快速合并的模式,但是有个地方不好的就是不能显示历史信息,在以后开发中我不知道有哪些分支曾经合并过,所以最好使用 no-ff:no fast forward的合并方式,这种方式在合并的同时会生成一个新的commit,这样,从分支历史上就可以看出分支信息。

$ git merge --no-ff -m "merge with no-ff" dev


 

​git log​​ 有许多选项可以帮助你搜寻感兴趣的提交,接下来我们介绍些最常用的。

我们常用 ​​-p​​ 选项展开显示每次提交的内容差异,用 ​​-2​​ 则仅显示最近的两次更新:

$ git log -p -2


 



首先查看该文件的历史版本信息:git log ​​Default@2x.png​

记录下需要恢复的commit版本号:如 9aa51d89799716aa68cff3f30c26f8815408e926

恢复该文件:git reset 9aa51d89799716aa68cff3f30c26f8815408e926 ​​Default@2x.png​

提交git:git commit -m "revert old file"

 

 


恢复到最后一次提交的改动:

​git checkout --​​ + 需要恢复的文件名

但是,需要注意的是,如果该文件已经 add 到暂存队列中,上面的命令就不灵光喽

需要先让这个文件取消暂存:

​git reset HEAD --​​ + 需要取消暂存的文件名

然后再使用第一条命令。

如果感觉命令多了记不住,那就做一两个匿名呗,比如:

​git config --global alias.unstage 'reset HEAD --'​

​git config --global alias.restore 'checkout --'​

我们拿 README.md 这个文件举例,比如修改了一段文字描述,想恢复回原来的样子:

​git restore README.md​

即可,如果修改已经被 ​​git add README.md​​ 放入暂存队列,那就要

​git unstage README.md​

​git restore README.md​

才能恢复成功哦。

 

原文: ​​http://www.tech126.com/git-fetch-pull/​​ 


Git中从远程的分支获取最新的版本到本地有这样2个命令:

1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge

    

git fetch origin master

git log -p master..origin/master

git merge origin/master

    以上命令的含义:

   首先从远程的origin的master主分支下载最新的版本到origin/master分支上

   然后比较本地的master分支和origin/master分支的差别

   最后进行合并

   上述过程其实可以用以下更清晰的方式来进行:

git fetch origin master:tmp

git diff tmp 

git merge tmp

    从远程获取最新的版本到本地的test分支上

   之后再进行比较合并

2. git pull:相当于是从远程获取最新版本并merge到本地

git pull origin master

上述命令其实相当于git fetch 和 git merge

在实际使用中,git fetch更安全一些

因为在merge前,我们可以查看更新情况,然后再决定是否合并

结束


 

首先查看该文件的历史版本信息:git log ​​Default@2x.png​

记录下需要恢复的commit版本号:如 9aa51d89799716aa68cff3f30c26f8815408e926

恢复该文件:git reset 9aa51d89799716aa68cff3f30c26f8815408e926 ​​Default@2x.png​

提交git:git commit -m "revert old file"