从此以后,使用Git
来源:互联网 发布:淘宝免费视频教程 编辑:程序博客网 时间:2024/04/29 20:15
安装
检测是否安装了Git
git
如果没有安装,安装途径之一是: http://www.git-scm.com/download/
安装之后,输入git
检测是否安装成功
查看使用帮助
git# 或git --help
设置用户名和密码
Git是分布式版本控制系统,如果你提交了代码,得留下你的名字和Email
git config --global user.name "Your Name"git config --global user.email "email@example.com"
本地版本库
创建本地版本库
把目录(空目录和非空目录都可以)变成Git可以管理的仓库
git init
当前目录下多了一个.git
的目录,这个目录是Git来跟踪管理版本库的,千万不要手动修改这个目录里面的文件,否则会破坏Git仓库
此时,输入git branch
查看所有分支,发现什么都没有。只有发生一次commit
之后,才会有master
分支
工作区和暂存区介绍
在电脑里能看到的目录就是工作区
隐藏目录.git
是Git的版本库,Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
添加到暂存区
git add <file file file>
添加所有修改的文件到暂存区
git add .git add --all
提交到分支
# 一定要用双引号git commit -m "some messages"
查看仓库当前状态
git status
查看工作区与暂存区文件的差异
git diff file
查看工作区与版本库文件的差异
# HEAD大小写都可以git diff HEAD -- file
放弃工作区的修改
git checkout -- file
这里有两种情况:
一种是自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
放弃暂存区的修改
git reset HEAD file
此时在工作区,修改的内容还在
git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。
删除文件
# 删除文件,并add到暂存区git rm filegit commit -m "message"
恢复文件
删除文件后,如果还没有commit,可以使用下面的命令恢复
git reset head filegit checkout -- file
版本
查看历史版本记录
git log [--pretty=oneline]
查看各个历史版本记录产生的命令
git reflog
版本回退
# 回退到上一个版本,有n个^就回退到上n个版本git reset --hard HEAD^# 回退到指定commit id版本git reset --hard 3628164
分支
列出所有分支,当前分支前面会标一个*号
git branch
创建分支
git branch 分支
切换分支
git checkout 分支
创建并切换分支
git checkout -b 分支
合并分支
git merge 分支
删除分支
git branch -d 分支
查看分支的合并情况
git log --graph --pretty=oneline --abbrev-commit
stash
保存现场
git stash
查看保存的现场
git stash list
恢复现场
# 恢复git stash apply# 删除git stash drop# 恢复并删除git stash pop
标签
查看所有标签
git tag
创建标签,默认标签是打在最新提交的commit上
git tag <tagname>
给特定commit id打标签
git tag <tagname> 6224937
带有说明的标签
git tag -a <tagname> -m "message" 3628164
查看标签信息
git show <tagname>
推送某个标签到远程
git push origin <tagname>
推送全部标签
git push origin --tags
删除标签
git tag -d <tagname>
删除远程标签
# 先从本地删除,然后,从远程删除git push origin :refs/tags/<tagname>
忽略特殊文件
创建.gitignore
文件,把要忽略的文件名填进去,Git就会自动忽略这些文件,如:
# Windows:Thumbs.dbehthumbs.dbDesktop.ini# Python:*.py[cod]*.so*.egg*.egg-infodistbuild# My configurations:db.inideploy_key_rsa
.gitignore
文件本身要放到版本库里
远程仓库
创建SSH Key
ssh-keygen -t rsa -C "youremail@example.com"
可以在用户主目录里找到.ssh
目录,里面有id_rsa
和id_rsa.pub
两个文件,这两个就是SSH Key的秘钥对,id_rsa
是私钥,id_rsa.pub
是公钥。把id_rsa.pub
文件的内容添加到某Github账号中,这样,这台电脑就有权限push代码到此账号的Github仓库了
添加远程库
如果在本地已经有了仓库(git init
),可以关联到远程库
git remote add origin git@github.com:yourname/repositoryname.git
添加后,远程库的名字就是origin
,这是Git默认的叫法,也可以改成别的
克隆远程库
git clone git@github.com:yourname/repositoryname.git
Git支持多种协议,默认的git://
使用ssh
,但也可以使用https
等其他协议。使用https
除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,但是在某些只开放http
端口的公司内部就无法使用ssh
协议而只能用https
推送到远程库
git push origin master
Git 使用规范流程
http://www.ruanyifeng.com/blog/2015/08/git-use-process.html
- 从此以后,使用Git
- 因为从此以后只能蓦然回首
- 从此以后 陌路此生。伤感日志
- 从此以后 陌路此生。伤感日志
- 从此以后 陌路此生。伤感日志
- 从此以后 陌路此生。伤感日志
- 从此以后 陌路此生。伤感日志
- 从此以后 陌路此生。伤感日志
- 从此以后,写代码不能再是搭鸡窝
- 从此以后都不关我的事
- 从此以后,在这里写点东西咯
- 从此以后提及你 无关风雨无关晴
- 从此以后,江湖有了它的传说!
- 【git】VS2015使用Git
- 【GIT】 git rebase 使用
- 【Git】Git客户端使用
- 使用git
- git使用
- 分析内存的使用情况
- 浅谈协方差矩阵
- tcp/ip模型
- CANoe学习3
- CALayer 和 CAGradientLayer简单使用
- 从此以后,使用Git
- 安装MongoDB配置ReplicaSet
- mybatis学习笔记 (部分资源来自网络)
- 七款Debug工具推荐:iOS开发必备的调试利器
- 安卓接口回调
- Reverse Linked List 链表逆转 简单题
- word2007不显示“审阅”选项卡
- ViewGroup 详解
- pdf文件转换成jpg方法详解