GIT 整理
电脑版发表于:2019/3/15 10:09
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 文件名 或者清空全部 用星号* 停止追踪指定文件,但该文件会保留在工作区
关联远程库:
步骤
git init //初始化本地仓库 git add . //添加所有文件到缓存 git commit -m 'sss' //提交到仓库 git remote add origin [仓库地址] //提交到远程 git pull origin master --allow-unrelated-histories //强行合并 如果远程仓库有内如比如remdeme之类的 git push -u origin master //-u是在指定默认主机,这样以后提交可以省略写主机名直接Git push
查看
远程仓库版本内容:git remote -v
拉取
操作
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保持一致
提交到远程后发现提交错了 要回退到某一个版本:
git log //查看版本号 看需要退回到哪一个版本 git reset --soft 版本号 //版本号是一个哈希值,只输入前四位也可以 git log //看看是否有退回 git push origin master --force //强制提交当前版本到远端
rebase
将一个分支里的工作直接移到 另一个 分支上。移动以后会使得两个分支的功能看起来像是按顺序开发,但实际上它们是并行开发的。
当前分支A git rebase [分支名B] //移动分支到该分支后 git checkout 分支名B git rebase 分支A //把原分支的引用往前移动
Tag
....