git

1.介绍:分布式版本管理工具。

2.工作流程:

  a:工作区:

  写代码,代码编写完毕,将代码提交到暂存区;

  b:    暂存区:

  类似于过滤层,保存工作区于版本库的代码,避免错误操作;

  c: 版本库:

3.git下载与安装:

安装完成,那个文件夹/文件需要被管理,只需打开此文件夹,在此文件夹里面右击打开git终端操作即可;

 操作完成后;

 查看git版本信息;

命令:git --version

 注意:git第一次操作需要配置个人信息;

命令:git config --global user.name 名字

   git config --global user。email 邮箱地址

  

 

   git config --list   查看所配置的信息

  

  查完配置信息后按 q  返回;

  

 

 将工作区让git管理:

a:先初始化git:

命令:git init   (必须在要操作的文件夹中进行初始化)

  * git默认情况不会管理空文件夹;

  *git管理文件包括所有的子文件;

  

 初始化之后会在该文件夹自动生成一个“ .git ”文件夹,代表初始化成功,存放配置信息

b:查看当前被git管理的项目文件的状态;

命令:git status

 * 如果文件显示红色:文件在工作区没有向暂存区提交;

* 如果文件显示绿色:文件在暂存区没有向版本库提交;

c:将文件从工作区提交到暂存区:

 * 提交单个文件

 

 

 

 * 提交某个文件夹,需要在后面加 “ / ”;

 

 

 

 

 

 

 

 

提交整个工程文件到暂存区; --all  或者 git add . 中间一定加空格

 

 

d:将暂存区的文件拉回工作区:

 git reset HEAD -- 文件  拉回单个文件;“ -- ”前后都必须加空格

 

 

 拉回某个文件夹,后面加“  / ”即可

 

 

 拉回所有文件夹,git reset HEAD -- . ;拉回没有 “ -- all  ”命令,注意--和 . 之间的空格

 

 

将文件从暂存区提交到版本库;

命令:git commit -m ‘版本日志’  (版本日志必须写)

  查看版本:

版本回退:

文件的比对:

文件的删除:

 

 

git管理空文件夹:

在每一个空文件夹里面放置一个 “ .gitkeep ” 文件

 如此,该文件夹将被管理;

不让git管理某个文件,某类型文件或者某个文件夹;

在git管理的目录下放置一个文件起名 “ .gitignore ” 把不需要被管理的文件的名字放在此文件里 ( ** 把自身应该也写在里面!!);

  ** 文件名---- 忽略文件;

  ** 文件/ ----   忽略文件夹;

    型号( “ * .js ”)所有的js文件;

 

如此,写在此文件里面的文件将不会被管理;

分支操作:

master -----主分支;(一般不进行项目的开发)

创建分支:

例如开发分支---Dev;

a:查看分支:

git branch   (分支操作前一定将文件提交到版本库 git commit -m ' 版本日志')

b:创建分支;

git branch 分支名称

分支切换;

命令:git checkout 分支名称

创建并切换分支;

命令:git checkout -b 分支名称

删除分支(注意:不能操作当前所在的分支;eg:当前在Dev分支,再次分支执行此命令是错误的,必须做切换

合并分支;

命令:git merge 被合并的分支

(*合并分支一定先切换到要合并的分支

eg:要把Dev分支合并到主分支master分支上,就必须在master分支下进行操作命令!!!*)

 从主分支切换到Dev分之支会出现第二个文件;切换到Dev分支后主分支任然在,但操作之后不起任何作用,因为他已经在主分支提交到了版本库,只是把工作区的文件留下了。

???如何实现Dev分支切换到主分支还能看到Dev分支的文件,我们就要用到分支合并。

首先必须切换到要做合并的分支:

 然后就可以在主分支看到Dev分支的文件与操作;

远端操作(githup  /  gitee)

可以将本地仓库推到远端(需要远端仓库的地址:https / ssh密钥)

 (注意:git终端操作不支持Ctrl+c和 Ctrl+v 操作,只能鼠标右击

命令:git remote add origin + 远端地址; ( 连接到远端仓库)

          git push -u origin + 分支名称     (需要推的分支)

 本地推送成功后远端刷新;

推送多个分支;直接 git push -u origin +要推送的分支名  (都必须在主分支下操作!!!因为要把他们都push到主分支下

 如果远端仓库地址更改,就先得吧上一次缘短连接移除在建立新的连接;

命令:git remote rm origin   (此命令后面不加任何信息!!

将远端仓库拉到本地:

命令:git  clone 远端地址

只需在本地建立一个空文件夹进行接收

***不在对此文件夹进行初始化操作;clone完毕直接  cd 文件夹 进入即可。

  克隆远端仓库分支

命令: git clone -b 远端分支名称   远端此仓库的地址  

远端仓库做更改,本地同步:

命令:git pull origin 分支名称 

 配置密钥:

命令:ssh-keygen -t rsa -C “你的邮箱地址”

     cat ~/.ssh/id_rsa.pub (寻找ssh-rsa)

 

 

 

    

clone别人的仓库,需要别人仓库的地址,如果做更改,需要别人的权限,加你为合作伙伴

 给别人仓库的权限;

 

 在给别人仓库提交前记得提交地址的切换(git remote rm origin)

                      (***在每次对文件修改后都进行 git add .  git commit -m  ‘日志’  此操作)

附:git常用命令:

命令行常用命令(在git bash上生效,部分在cmd无用)

-pwd (print working directory) 查看当前所在路径--绝对路径

-cd(change directory) 切换目标

-ls(list) 查看当前目录下的内容

-mkdir(make directory) 创建目录

-touch 创建文件

-cat 查看文件内容(一次性将内容全部显示)

-less 查看文件内容(显示部分信息)--再次输入‘回车’一行一行显示,‘空格’一页一页显示 ,‘b’一次向上走一页

-rm(remove) 删除文件,-rm -rf 文件夹(循环递进删除文件夹)

-rmdir(remove directory)删除文件夹(只能删除空文件夹,不常用)

-clear 清屏

-q 退出

-mv(move) 移动文件或重命名

-cp(copy) 复制文件

-echo ‘内容’ > 文件名 (输出内容到文件中,每次输入都是覆盖原来的文件)

-echo ‘内容’ >>文件名(输出内容到文件中,每次输入都是追加新内容)

原文地址:https://www.cnblogs.com/gzw-23/p/11703965.html