git仓库管理笔录

Git是目前世界上最早进的分布式版本控制系统(没有之一)。html

小明作了个我的博客,放到了Git 仓库里面。次日换了台电脑,只须要 git clone  克隆一下git 远程仓库的代码到本地便可。而后他又对项目新增了一个又一个新的功能,每次作完以后,只须要git add  ... commit  ... push 到Git 仓库里面去就行了,每一次提交到远程仓库都会自动的生成一个历史版本永久存放在Git中。某日,小明发现他最近一次的更改将本身的博客改坏了,致使不少功能失效,因而  他只须要 git reset --hard f8af3fe。。。就又恢复到  f8af3fe 此次提交上了,而后从新提交一下,博客就所有恢复了,可是后面改的东西没了,他能够将最后一次的修改代码再放到本地检测 测试经过后提交  而后完美保存。

git

Git 就是这么个简单的工具!github

简单的几句代码能够给码农带来很大的便利,并且在必定的存储空间内,Git 彻底开源免费!帮你存储不怕丢失!至于安全,你不相信他你就不要用他!web

 

不一样的系统安装方法不一,自行安装,本博客主要是写给本身看的,万一忘记了能够快速浏览本身的博客!sql

 

简单的介绍一下git 经常使用的命令:缓存

 

  git pull       获取线上最新代码安全

      查看当前分支状态

rm a.html 删除a.html文件

git rm a.html 从版本库中删除文件

git log        查看历史提交

git reflog 查看提交的命令历史

git statusgit diff a.html 查看当前文件的最近修改

git add a.html 添加单个修改的文件
git add . 添加全部修改的文件

git commit -m "注释" 提交并给本次提交打上 “注释” 的标签,也能够 git commit -am "注释"

git push origin master       将本地提交后的代码推送到线上Git仓库master分支

git branch -u origin/mybranch 或者  git push origin/mybranch -u   关联远程分支

git pull origin master       指定只获取线上master分支代码
git commit -m "注释" 提交并给本次提交打上 “注释” 的标签,也能够 git commit -am "注释"

git push origin master       将本地提交后的代码推送到线上Git仓库master分支

git branch -u origin/mybranch 或者  git push origin/mybranch -u   关联远程分支

git pull origin master       指定只获取线上master分支代码
git clone git@github.com:999999/88888.git 克隆git仓库的项目到本地


git branch dev 建立一个dev的分支(等于上个分支的代码)
git checkout dev 签出dev分支
git checkout -b dev 上面两行合并为此一行

git branch -d dev 普通删除 dev 分支

git branch -D dev 强制删除 dev 分支

git checkout -b dev origin/dev  从远程签出 dev 分支

 git push origin --delete <remote-branchname> 删除远程分支ruby

   git push origin :<remote-branchname> 同上(删除远程)app

 git branch -m <new-branch-name> 重命明当前分支分布式

 git commit --amend 修改上一个commit的描述

 git blame <file-name> 查看某文件做者

 

git branch --set-upstream dev origin/dev 将本地分支和远程分支构建连接

git tag v1.11.1 打上 v1.11.1 的标签

git tag -d v1.11.1 删除 v1.11.1 的标签

git push origin :refs/tags/v0.9 to

git push origin :refs/tags/v0.9 to git@github.com:999999/88888.git 从远程删除v0.9的标签


小明正在 master 分支上开发项目,忽然接到紧急任务 须要去product 分支上修改某个文件!
因而小明能够选择 提交后切换分支,也能够将当前分支的修改放入暂存区保存起来
从远程删除v0.9的标签


小明正在 master 分支上开发项目,忽然接到紧急任务 须要去product 分支上修改某个文件!
因而小明能够选择 提交后切换分支,也能够将当前分支的修改放入暂存区保存起来
查看储藏列表信息
git stash apply 恢复储藏的状态(但并不删除该储藏)

git stash 本地储藏当前修改
git stash listgit stash pop恢复并删除最后提交的储藏
git stash clear 删除全部储藏

git stash apply stash@{0} 恢复第{0}的储藏

git merge dev 将当前分支与dev 分支合并,合并后 dev分支不变,当前分支代码齐全

最烦的就是合并冲突 假设出现了冲突就很麻烦 webStrom 自带了解决冲突 对比文件的(我的不太习惯)
我电脑Mac 下载了一个 Beyond Compare 软件
假设出现了合并冲突 就使用 git mergetool 命令
将自动调用并打开 Beyond Compare 软件,至于怎么用,本身看吧 也很简单,选好了,快捷键保存退出便可!

git remote 查看全部远程仓库

 git remote set-url origin <URL> 修改远程仓库 URL

 git remote add origin <remote-url> 增长远程仓库

 git checkout <branch-name> && git cherry-pick <commit-id> 把A分支的某一个commit放到b分支上

 
追加:
修改已commit的内容:
若是只是commit到了本地 ,未push:

git commit --amend
会打开本地缓存文件,修改一下第一行上一个commit的内容保存退出便可
若是要将本地和线上的commit 内容进行修改
git commit -f --amend (并不建议)
同上
 

神器
如 git status 如何直接使用 git st 达到一样的效果


神器
如 git status 如何直接使用 git st 达到一样的效果

git config --global alias.st status 这就使 git status === git st 了

一样

git config --global alias.co checkout git co
git config --global alias.ci commit git ci

git config --global alias.br branch git br


大致上就是这么多了 可以灵活使用就好,固然还有个别的没写出来,欢迎评论提点!

更详细的东西看 廖雪峰Git教程 吧!
相关文章
相关标签/搜索