GIt版本管理工具

常用命令

  • ls 查看当前文件夹里面文件
  • ls -a / ls -ah 查看当前文件夹里面文件(包含隐藏文件 eg: .get .history .idea...)
  • pwd 显示当前目录 (eg:/d/WorkSpace/project/kol-Editor-Sop/kol-Editor-Sop/resources )
  • mkdir 文件夹名 创建文件夹
  • touch 文件名 创建文件
  • ls -la 查看该目录下所有文件(包含隐藏文件)
  • dir 查看文件夹里面的文件目录
  • D: 进入文件目录
  • cat 文件名 查看文件内容

1.安装git配置git

git-scm.com/download/wi…
全局配置
  • $ git config --global user.name "Your Name"
  • $ git config --global user.email "email@example.com"
局部配置(某个项目配置)
  • $ git config user.name "Your Name"
  • $ git config user.email "email@example.com"
初始化git仓库,git进行管理

注意: 当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库,千万不能手动修改,如果看不到用 ls -a命令查看

git init 
复制代码

.git文件夹里面的文件配置信息说明

  • hooks
  • info
  • objects
  • refs
  • config
  • description
  • HEAD
git工作的三个区域
  • 工作区

  • 暂存区

  • 版本区


                 git add             git commit
    工作区 ================>  暂存区 ================> 版本区
    
    1. 工作区的文件修改都是红色的
    2. 暂存区的文件都是绿色的
    工作区(Working Directory)  =>git add 到暂存区    取消用  git reset HEAD  <fileName>      
    工作区文件为红色    暂存区 (Stage) =>git commit 到版本区	字体为绿色			暂存区文件为绿色  
复制代码
2.版本回退 [ git reset --hard HEAD^ /commit-id]
git log ==>> 显示从最近到最远的提交日志,  由上往下是最新到最老的版本
git log  --pretty=oneline  ===>> 一行显示   [ commit id 提交记录的id,每提交一次都会生成一个,十六进制 ]

HEAD文件里面都是指针
在Git中,用HEAD表示当前版本 ,回退到上一个版本  ^    , 上上个^^   ....   或者 ~数字
git reset --hard HEAD^ 上一个版本
git reset --hard HEAD^^ 上俩个版本

git reflog	查看记录你的每一次命令
复制代码
3.前进版本 [ git reset --hard commit-id ]
注意:
1) HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。

2) 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

3) 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

4)每次修改,如果不用git add到暂存区,那就不会加入到commit中。  每次修改完了,如果想提交到版本区域,先进行到暂存区,在到版本区   eg:  针对一个文件修改了提交了,git add 了,在进行修改,直接commit,则第二次修改不会进行commit,重新add => commit 
复制代码
4.文件删除[ git rm 文件名 ]
1) 右击删除 => 没有进入暂存区, 只是删除了工作区的文件,   git add => git commt 提交
2) git rm 文件名   不仅删除了文件,而且还添加到了暂存区 => git commit 提交

误删除撤回:(用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。)
 git checkout  -- 文件名
 git checkout .   撤回全部

复制代码
5.分支处理

分支:

注意:
1) 本地分支如果修改了没有添加到暂存区或者版本区,是可以切换到其他分支,在其他分支可以用git status 进行查看分支合并,如果有,没有提交的文件,是不会进行合并的

2) =>HEAD指向的就是当前分支,指针

3) master主分支,一条

4) 当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上:
复制代码
5.1查看分支
 git branch  查看本地分支, 当前分支前面会标一个*号
 git branch -r 查看远程分支 带origin的表示远程分支  红色的
 git branch -vv 本地分支和远程分支对应关系
复制代码
5.2创建分支/切换分支 [ git checkout -b 分支名 ]

注意: 注意: git checkout命令加上-b参数表示创建并切

git branch 分支名  创建本地分支
git checkout 分支名  切换本地分支

git checkout -b 分支名 ==>  创建并且切换到改分支 => git branch 分支名  git checkout 分支名

git branch master 切换到主分支
复制代码
5.3合并分支 [ git merge 分支名 ]
  • 分支合并到主分支: => 分支提交代码,切换到主分支,进行git merge 分支名合并
  • 分支合并到分支
 git merge 分支名  ==>  用于合并指定分支到当前分支 
 注:  如果分支上有,没有提交的代码是不可以合并的,提交完毕才可以合并
 
 git checkout master
 git merge 分支名  将当前分支代码合并到主分支
复制代码
  • 合并分支冲突解决
 进入冲突模式进行退出输入:    :wq退出
 
  <<<<<<<<<<<<  HEAD 
     code ...
    ===============
     code
     
     >>>>>>>>>>>>>>
    
    处理冲突完成,进行提交代码, 删除合并过来的分支
复制代码
5.4删除分支

注意: ==>处在当前分支是不能删除当前分支的,切换到其他分支进行删除

  • 删除本地分支 git branch -d ([ Deleted branch develop (was fcaaa1a). ] )
  • 删除远程分支 git push origin -d
6. 解决冲突
储藏你的工作 git statsh
  存储: 
      可以获取你工作目录的中间状态——也就是你修改过的被追踪的文件和暂存的变更——并将它保存到一个未完结变更的堆栈中,随时可以重新应用。
  场景:
      经常有这样的事情发生,当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作。问题是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点。解决这个问题的办法就是git stash命令。
复制代码

git stash 存储完成,进行分支切换开发

# On branch master
  nothing to commit, working directory clean
复制代码

git stash list 要查看现有的储藏

git branch 分支 切换回来,继续进行开发,

git stash apply

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值