git,node,npm理解
首先来说说git,git,个人认为是代码版本管理工具,它可以回滚代码版本,便于多人模块化操作。
首先就需要下载一个git,它不是node里面的东西,注意区别。下载过程是傻瓜式一路回车,下载完成后会发现鼠标的左键会出现git的标识操作。
接下来开始玩git。比如我现在新建一个项目文件夹,里面有很多代码,我想把它上传到服务器便于管理,怎么做?
1,在文件夹下新建一个仓储,右键-gitBash-键入git init.会出现一个.git 的隐藏文件夹。
2,好了现在你可以写你的代码文件了。当你创建好啦许多代码文件时,你准备提交到git库就又要其他操作了
2.1,当你准备提交一个比如demo.js 文件时,在当前文件下右键打开gitBash,键入git add demo.js.这步操作是将文件放到git的大门口,并没有放到版本库中
,可以用git status 查看demo.js 的状态。
2.2,当你想提交到版本库中时,继续键入git commin -m ""引号中时对提交代码的注释。到此已经成功将代码提交到版本库中了。
二,接下来说说提交多个文件以及一次性提交
1,如果你修改了多个文件希望一次性提交,可以git add ./只要修改的文件都将提交到git大门口,接下来就是把大门口的文件放到版本库中。
git commit --all -m "";
2,你如果觉得每次都要放到大门口很麻烦,那么就可以用git commit --all -m ""这个命令但前提是这个文件之前提交过一次。
3,当然还有一个问题就是有些东西你是不想提交的,这个时候就要创建一个.gitignore.的文件注意前后两个点都要。在这个文件中固定格式写下不想提交的代码文件。
/demo.js
/.gitignore.
三,版本的控制
git的最大好处就是可以版本的回滚,我个人感觉是里面的指针的作用吧。下面说说如何回滚版本。
当你提交啦两次,发现第一次的版本更好希望回到第一次,那么就可以git reset --hard HEAD~n,这里的n表示的是数字0,1,2,3.。。它的意思是当前版本号0代表当前的版本,123之类 的是之前的版本,你也可以回到指定的包,就要知道指定包的那个编码,BF342CD之类的。
四,创建分支
工作中有些时候是既要保证当前的效果又要研发新效果,但是不可以影响大体效果,这个时候就要创建一个分支在分支上去开发。
git branch dev,创建一个dev的分支。git branch 查看分支。看目前处于哪一个分支,带有星号的为当前分支。
切换分支,git checkout dev切换到Dev分支。
五,解决冲突。
为什么会有冲突,就是在两个分支当中都对同一分支进行了操作,电脑无法判断哪个操作有用。就会造成冲突。比如你在Dev中修改了demo文件并且提交到版本库中
当你切换到主分支中又操作了demo文件,就会无法提交demo到版本库中。这个时候就要手动修改。打开demo文件,留下你需要的部分删除标识HEAD====》》》》
再重新提交一次到版本库中即可
六,放到服务器中
也许放到GitHub中才是我们的最终目的。所以首先要有一个GitHub账号。在GitHub中新建一个项目。放到服务器中有两种方法https和ssh。第一种方法每次push时会让你输入密码什么的很麻烦,所以我们选择ssh方法。而用ssh方法我们就必须首先创建公钥和私钥,下面说说如何创建公钥
1,公钥必须是全局的,所以不能再某个文件下单独创建。ssh-keygen -t rsa -C "邮箱"。键入后会生成一个公钥,将公钥完全复制到GitHub中,GitHub中在setting中找到ssh公钥的设置, 把公钥复制到里面。
2,获取ssh的地址。在当前文件下git remote add origin ssh地址,如果出错的话就重置origin: git remote rm origin .再次关联地址。
关联地址后继续关联push :git push origin -u master,如果这里出错的话多半是公钥不对,重现生成公钥,再重现关联ssh地址。
3.当以上都成了,那就表示你以后可以直接 git push //pull 来保存代码了。一个小技巧:最好是先pull再push。这样可以避免冲突。