tnblog
首页

GIT 整理

82人阅读 2019/3/15 10:09 评论:0 手机浏览 收藏
分类: other

Git练习地址


GIT

生成本地的key 贴到git 完成关联

  • HEAD:指向的是当前分支的最近一次提交记录

  • Tracking:追踪,本地与远程分支的关联 如clone会自动建立追踪关系,有追踪关系后 大多命令就可以省略写明远程及分支名 如origin/master

  • Config

    git config  user.name.. //配置提交用户名
    git config --global user.name.. //配置全局提交用户名

忽略文件

  • 添加: touch .gitignore

  • 取消本地版本控制 删除git : rm -rf .git

  • 忽略文件:.gitignore 添加之后需要把忽略下缓存先 不然已经到远端仓库的文件 就无法忽略了

  • 清空缓存 add之后的文件: git rm -r --cached 文件名 或者清空全部 用星号* 停止追踪指定文件,但该文件会保留在工作区

关联远程库:

  • 步骤

    1. git init  //初始化本地仓库  
    2. git add . //添加所有文件到缓存  
    3. git commit -m 'sss' //提交到仓库
    4. git remote add origin [仓库地址] //提交到远程
    5. git pull origin master --allow-unrelated-histories  //强行合并 如果远程仓库有内如比如remdeme之类的
    6. git push -u origin master //-u是在指定默认主机,这样以后提交可以省略写主机名直接Git push

查看

  • 远程仓库版本内容:git remote -v

  • git diff --shortstat "@{0 day ago}" // 显示今天你写了多少行代码

拉取

  • 操作

    git fetch [remote]  //拉取远程仓库的所有变动
    $ git pull //拉取前分支自动远程仓库默认关联的分支的所有变动 并合并 
    			git pull不会在拉取远程分支的时候,删除对应的本地分支。这是为了防止,由于其他人操作了远程主机,导致git pull不知不觉删除了本地分支。但是,你可以改变这个行为,加上参数 -p 就会在本地删除远程已经删除的分支。

推送

  • 操作

    git push
    git push [remote] --force //强行推送当前分支到远程仓库,即使有冲突

 

分支

Master主分支、develop开发分支、临时:功能(feature)、 预发布(release)、 修补bug(fixbug)
  • Master:主分支

  • Develop:开发分支

  • Release:预发布

  • Fixbug:补丁分支

  • Feature:功能分支

  • 操作

    git branch    -r:远程 -a:本地 //查看当前分支
    git branch [分支名] //创建分支
    git checkout [分支名]  //切换分支
    git checkout -b [分支名]  //创建并切换分支
    git push --set-upstream origin [分支名]   //分支关联仓库签入 刚创建了分支不能直接签入,需要关联签入 
    git merge [分支名] //合并到当前分支
    git merge --no-ff [分支名] //no-ff模式:非快进式合并。默认的合并是快进式合并 是直接指向被合并的分支,这样会继承被合并分支的提交记录,看起来就很不清晰,所以要用非快进式合并
    git branch -d [分支名] //删除分支
  • 解决冲突?

    • ...

撤销

  • 操作

    git checkout . //恢复暂存区的所有文件到工作区
    git reset --hard //重置暂存区与工作区,与上一次commit保持一致
  • 提交到远程后发现提交错了 要回退到某一个版本:

    	1.git log 	//查看版本号 看需要退回到哪一个版本
    	2.git reset --soft 版本号 //版本号是一个哈希值,只输入前四位也可以
    	3.git log //看看是否有退回
    	4.git push origin master --force //强制提交当前版本到远端

rebase

  • 将一个分支里的工作直接移到 另一个 分支上。移动以后会使得两个分支的功能看起来像是按顺序开发,但实际上它们是并行开发的。

    当前分支A
    git rebase [分支名B] //移动分支到该分支后
    git checkout 分支名B
    git rebase 分支A  //把原分支的引用往前移动

Tag

....


评价
有个性,不需要签名
文章
6
评论
8
分类
16
关注
16
{{item.ArticleTitle}}
{{item.BlogName}} : {{item.Content}}