git和svn

一:Git是什么?
      Git是目前世界上最先进的分布式版本控制系统。
 
二:SVN与Git的最主要的区别? 
SVN为集中式版本控制系统,版本库是集中存放在中央服务器的;
 
GIT为分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库。
 
 
GitHub,免费的远程仓库,如果是个人的开源项目,放到GitHub上是完全没有问题的。GitHub还是一个开源协作社区,通过GitHub,既可以让别人参与你的开源项目,也可以参与别人的开源项目。
 
SVN的存储需要依赖一个服务器,而git所有的东西是放在线上的。节约成本,省时省力。
 
三:在windows上如何安装Git?
          
          下一步 ---(next)
          安装成功后会出现这两个东西
         
           
          运行Git Bash会出现如下结果:
 
      
四. GitHub注册
          https://github.com/ 打开GitHub官网 。
                                                       熟悉的Hello world,然而并没有什么用。
     
         安装结束后需要进行一些设置 
    
    命令   git config --global user.name "你的git名称"
     命令   git config --global user.email "你的git验证邮箱"
命令  cd D:  进入 相应的磁盘 
命令  mkdir  '你自己定义的文件夹名' 
命令  cd '你自己定义的文件夹名'
命令  pwd 显示(你自己定义的文件夹名)的路径
然后!最重要的步骤来了!!git init
命令  git init
显示成功后去相应的文件夹中查看是不是多了一个.git文件
     这个文件夹不要乱动!!这个文件夹不要乱动!!这个文件夹不要乱动!!
     这个文件夹就是你的版本库了,把项目放在文件夹下。
 
     现在进行一个测试。在当前目录先建立一个readme.           txt文件,并且随便写的什么。
 
 
五.如何将文件提交到git服务器。
 
你的本地仓库由 git 维护的三棵“树”组成:
  第一个是你的 工作目录,它持有实际文件;
  第二个是 缓存区(Index),它像个缓存区域,临时保存你的改动;
  最后是 HEAD,指向你最近一次提交后的结果。
 
1.打开 Git Bash
 
 
命令  git add ‘文件名’
         git add *  表示所有文件添加到暂存区
 
把咱们的文件存放在一个神秘的地方 >>>> 暂存区 (暂存区在本机)
 
2.把文件提交到仓库中去。
 
 
命令 1 . git commit -m '我提交时候的备注(相当于注释)'
 
3.查看commit状态
 
 
命令1  git status  
 
出现 如下提示就说明咱们的commit是成功的。
 
修改下readme.txt里面的内容。并重新使用git status命令 。
 
 
会发现出现了一些变化。git告诉我们,git进行了一些修改,但是这些修改并没有被提交。
 
4.查看修改内容。
 
 
命令1 git diff 你的文件名  会出现更改信息,发现多了两个换行, 多了7654321内容;
 
将更改后的东西提交上去,和之前一样。先add 然后再commit 。
 
 
5.版本退回
 
 
命令1. git log          ( 查看日志)
           git reflog
退回
 
 
命令 1 . git reset --hard HEAD^  退回到上个版本 如果需要退回好多版本就在后面加上 ^ 例: git reset --hard HEAD^^退回两个版本。
 
然后去查看readme.txt是否成功退回。
 
6.删除
 
 
    新建一个 b.txt
 
然后commit到库中。 并删除。
 
 
命令1. git add  
 
命令2. git commit -m ‘备注’
 
命令3. rm b.txt  这个是删除b文件的命令
 
回过头来看文件夹中的b.txt
 
 
b.txt不见了,查看下状态。
 
 
可以commit,可以放弃修改  git reset --hard 版本号来回复文件。
 
 
然后连接本地仓库,并将自己的库push到服务器中去。
 
 
命令1. git remote add origin https: // github.com/你的账号/你的项目名
 
命令2. git push -u origin master 将本地的库推送到master分支 (就是推送到服务器上)
 
在服务器上查看是否推送成功。 
 
从现在开始,只需要git push origin master / git push就可以吧本机的推送过去了。
 
从服务器克隆数据, git clone 
 
 
 
 
将服务器端的数据克隆过来。
 
如果输入$ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git
    提示出错信息:fatal: remote origin already exists.
    解决办法如下:
    1、先输入$ git remote rm origin
    2、再输入$ git remote add origin git@github.com:djqiang/gitdemo.git 就不会报错了!
    3、如果输入$ git remote rm origin 还是报错的话,error: Could not remove config section 'remote.origin'. 我们需要修改gitconfig文件的内容
    4、找到你的github的安装路径,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc
    5、找到一个名为gitconfig的文件,打开它把里面的[remote "origin"]那一行删掉就好了!
 
获取远程仓库的更新数据
git fetch:相当于是从远程获取最新到本地,不会自动merge
git pull:相当于是从远程获取最新版本并merge到本地
 
 
生成秘钥:
(1)首先检查电脑是否曾经生成过秘钥
cd ~/.ssh
若打开该文件夹为空,则表示没有生成过秘钥,进入第二步。(~表示根目录)
  (2) 生成秘钥
ssh-keygen -t rsa -C "your email"
命令要求输入密码,不用输,三个回车即可。
执行成功后,会在主目录.ssh路径下生成两个文件:id_rsa私钥文件;id_rsa.pub公钥文件; 
 
登陆github帐户点击头像,然后 Settings -> 左栏点击 SSH and GPG keys -> 点击 New SSH key
在远程仓库gitlab上添加title和key,和本地的一致。title可以自己取一个容易区分的名字,key为id_rsa.pub中的内容(全部复制,可用cat id_rsa.pub命令打开)
 
 
 

git commit 不输入 -m 以及后面的内容会进入vim模式

vi & vim 有两种工作模式:
  • (1) 命令模式:接受、执行 vi & vim 操作命令的模式,打开文件后的默认模式;
  • (2) 编辑模式:对打开的文件内容进行 增、删、改 操作的模式; 在编辑模式下按下 ESC 键,回退到命令模式。
    创建、打开文件:$ vi [filename]
  • (1)使用 vi 加 文件路径(或文件名)的模式打开文件,如果文件存在则打开现有文件,如果文件不存在则新建文件,并在终端最下面一行显示打开的是一个新文件。
  • (2)键盘输入字母 “i”或“Insert”键进入最常用的插入编辑模式。
    3、保存文件:
  • (1)在插入编辑模式下编辑文件。
  • (2)按下 “ESC” 键,退出编辑模式,切换到命令模式。
  • (3)在命令模式下键入"ZZ"或者":wq"保存修改并且退出 vi 。
  • (4)如果只想保存文件,则键入":w",回车后底行会提示写入操作结果,并保持停留在命令模式。
    4、放弃所有文件修改:
  • (1)放弃所有文件修改:按下 "ESC" 键进入命令模式,键入 ":q!" 回车后放弃修改并退出vi。
  • (2)放弃所有文件修改,但不退出 vi ,即回退到文件打开后最后一次保存操作的状态,继续进行文件操作:按下 "ESC" 键进入命令模式,键入 ":e!" ,回车后回到命令模式。
 
 
 
 
 
 
posted @ 2019-07-01 11:29  前端小菜鸟吖  阅读(793)  评论(1编辑  收藏  举报