git是在本地创建一个仓库。这句话就是答案,但是说完这个肯定会被打。为啥呢。慢慢说,首先svn是在某个服务器上部署这,然后这些程序员小工们,就是从服务器上去取代码。然后修改修改,提交去服务器,然后更新覆盖本地。。然后修改本地,然后提交服务器。。这里重点来了,git的提交可是提交到本地哦。。。远端合并服务器的叫推送。。
首先git在本地建立一个仓库,这个仓库存在了电脑的某个地方,或者在C盘或者在D盘,反正找不到。。然后你就问我不对啊,我看到我的代码了你怎么说我找不到呢。。。慢慢来。。
1.初始化仓库
打开一个空文件夹,老样子英文命名。
cd hello // 首先进入文件夹内
git init // 初始化git仓库
// 文件夹会出现一个.git的文件,看不见也没事,可能隐藏了,不要管它。
这个时候你的电脑某处就有个仓库了。。
在hello文件下放一个abc.js
{let a=1;alert(a);
}
就放这吗简单的代码。然后我们提交到本地仓库
git add abc.js // 把abc.js这个文件放到缓存区git commit -m "提交一个文件abc" // 这个就是提交到本地仓库了。
// -m和文字内容是提交要加描述和评论,为了自己看懂自己改了什么和别人看你改了什么。
你说成功就成功了嘛。我都看不见啊。。然后再修改修改这个文件,再提交。再修改,再提交。玩三次四次。执行下边这个命令
git log --pretty=oneline --abbrev-commit // 会看到下边这些东西
我这有点多,这个时候你就肯定冒出个想法了,既然有记录,我肯定能回退到哪个版本了,对了
git reset --hard commit_id // 这个hard必须要,这个commit_id就是你上边看到的那个每次提交的id
git reset --hard HEAD^ //回退到上一个版本。
那你现在操作的代码就是工作区。add以后的叫做缓存区。。commit是从缓存区拿东西然后提交到库里。你看是不是不用网。
假如我新写的代码改乱了。。以前没bug,现在有了,完了还解决不了,代码想重新写,咋办?
git checkout -- filename.js // 就出来了,切记不能少了那两个 --
删错了的话也按上边那个方法走。。。。
假如比上边的情况还严重,都放缓存区去了,咋办?
git reset HEAD <filename> //先恢复最新,然后就回到上一种情况了。。然后按上一种情况走
分支啊什么的也是在本地的。。所以说不用网络一样行。那为啥还要个远程仓库呢,首先仓库就是保代码安全,人多不乱的。
远程的那个git库和本地这个没有区别。
( 工作流程是这样的,你在本地某个分支完成了项目,然后合并到开发dev分支, 然后合并到master分支上,然后把远端那个库的代码pull下来,解决冲突,本地提交,然后push推送。)
本文链接:https://my.lmcjl.com/post/13364.html
4 评论