git版本管理工具
来源:互联网 发布:安卓 弱网络模拟 编辑:程序博客网 时间:2024/05/07 21:31
声明:仅作为学习记录使用,方便以后查看复习。如果有错误欢迎指正。
Git 使用
安装git,创建仓库
git config –gloable user.name liubo
git config –gloable user.email liubo@digiproto.com
或者.git目录下的config文件中添加
[user]
gitconfig的配置参考: http://www.cnblogs.com/wanqieddy/archive/2012/08/03/2621027.html
github的使用参考: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001374385852170d9c7adf13c30429b9660d0eb689dd43a000
本地仓库和github仓库通过ssh加密
1 创建ssh key
ssh-keygen -t rsa -C “tyut_lb@163.com”
在/home/liubo/.ssh/id_rsa默认有这个,id_rsa是私钥,id_rsa.pub是公钥
2 git clone git@github.com:woniuhaha/GitTest.git clonegithub的GitTest仓库到本地。
创建一个文件夹用作仓库
git init
git –bare init 有待研究????
参考: http://blog.csdn.net/ljchlx/article/details/21805231
添加文件到仓库
git add filename
git commit -m “create filename”
git status 状态,有提示怎么做(想一想工作区,暂存区,版本库 之间的关系)
git checkout – filename 放弃工作区的修改
git reset HEAD filename 放弃暂存区的修改
git diff filename 什么时候都可以diff
git show 默认看最近的commit的信息
git show commitID 看这个id下的信息
git每一次commit串成一条线,HEAD指针指向当前节点。HEAD^是上一个节点,依次类推
返回上一个节点
git log 查看日志
git reset –hard HEAD^ 21世纪返回到19世纪
git reflog 记录每一次的git命令
git reset –hard 146816 找到21世纪的commit id,从19世纪再返回到21世纪
git reset –soft HEAD^ 据说—soft不会删除你退回去后的之后的commit信息,–hard会删除退回去后的commit信息,你就再也回不来了。但是可以通过git reflot 看到之前的操作,实际是可以从19世纪再回到21世纪的
git tag 每次发布一个版本打一个tag
git tag v1.0-light 轻量行tag
git tag -a v1.0 -m “1.0版本” 重型tag
参考: http://blog.csdn.net/wangjia55/article/details/8793577
删除文件
1 删除工作区的文件
rm filename 只是删除了工作区的文件,版本库中还有
git checkout – filename 从版本库中恢复到工作区
2 删除版本库文件
git rm filename
远程克隆版本库,支持不同协议
git clone ssh://git@192.168.0.116/opt/code
git clone git://git@192.168.0.116/opt/code
git clone http://192.168.0.116/opt/code
分支管理
master是默认创建的分支,master指针指向这个分支的最新commit的节点,HEAD指针
指向master指向的这个节点
创建一个分支dev,HEAD指向dev
git branch dev
git checkout dev
或者
git checkout -b dev 创建带切换
git branch -a 查看所有分支,包括远程和本地
git branch -r 查看远程分支
git 开发模式????
合并分支
在master分支上合并dev分支
git merge dev 快速合并dev到master
git branch -d dev 删除dev分支
如果分支没有合并就要删除,会提示删除失败,强制删除
git branch -D dev
分支管理
在dev分支上正在工作,保存当前分支工作
git stash
git status
git stash list 看保存了几个列表
切换到master分支,再开出一个分支修改bug,然后合并bug分支到master
切换到dev分支,再继续工作
git status
git stash pop 恢复工作现场并删除stash列表中的内容
或者
git stash apply 恢复现场
git stash drop 删除stash
多次stash,选择一个恢复
git stash apply stash@{0}
远程分支
git remote 看远程分支
git remote -v 详细看远程分支
推送分支到远程分支
git push
参考: http://www.yiibai.com/git/git_push.html
http://blog.csdn.net/wh_19910525/article/details/7438183
抓取远程分支
git checkout -b dev origin/dev 从远程的dev抓到本地的dev
多人合作
git push origin dev 推送本地到远程分支失败
git pull 失败,因为没有指定本地的dev与远程的dev链接
git branch –set-upstream dev origin/dev
git pull 成功,但是合并冲突
解决冲突再push
git patch补丁功能
制作patch的方法
1 git diff 生成标准的patch
git diff master > test.patch 和master分支比较生成补丁
开一个新分支用来打补丁,避免破坏master分支
git apply patch 打补丁
git commit -a -m “patch apply”
2 git format-patch生成专用补丁
git format-patch -M master 和master分支对比生成patch
git am 0003-xx.patch 打补丁
- 分布式版本管理工具GIT
- Git 版本管理工具
- 版本管理工具Git入门教程
- GIT版本管理工具
- git版本管理工具(一)
- GIT版本管理工具
- 版本管理工具(Git)
- git版本管理工具
- GIT版本管理工具
- git版本管理工具学习
- git版本管理工具
- Git版本管理工具
- git 版本管理工具
- git版本管理工具
- Git版本管理工具[转载]
- git版本管理工具使用
- 版本管理工具-Git
- Git 版本管理工具
- 面向对象软件工程复习之练习题之一
- 思科EIGRP高级配置
- HDU 2108 Shape of HDU(凸包)
- 用UIWebView来显示动态图片
- 【数据库】一些杂杂的概念
- git版本管理工具
- Fast RCNN
- Raknet性能调研
- 性能测试
- 十一.运行环-runloop
- 常用的性能监控命令——vmstat
- MD5加密字符串,返回加密后的字符串
- Python Class 重要基础知识篇_2
- 设计模式