git复习
来源:互联网 发布:防抖插件mac 编辑:程序博客网 时间:2024/06/05 13:29
由于公司用TFS很久没有用过git了 一些常用的命令难免忘记。特此整理一下。方便以后查找
推荐此篇文章很详细
整理补充:
标识用户
git config --global user.name "maobo"git config --blobal user.email "maobo@live.cn"
初始化一个仓库
git init
执行完目录下会多一个.git的目录,这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了
文件添加到暂存区
git add filename
没有任何提示,说明已经添加成功了。
查看文件状态
git status
提交
git commit -m "这里写提交注释"
查看文件差异
git diff filename
版本回退
查看提交记录
git log
回到到指定版本
git reset --hard 3u7d8e6d //3u7d8e6d 为查看提交记录时的版本号前几位
撤销修改
git checkout -- filename
此操作将会丢弃未放入暂存区的所有修改(相当于检出库中版本覆盖了本地也可用于恢复被删掉的文件)
引用一张图说明
注意:命令git checkout – readme.txt 中的 –很重要,如果没有 –的话,那么命令变成创建分支了。
删除文件
直接删掉后commit
恢复删掉的文件
git checkout -- filename
比较好玩的部分来了
远程仓库
先决条件 需要有github账号
1、创建SSH KEY
执行
ssh-keygen -t rsa -C "你的邮箱账号"
成功后用户目录下有.ssh的目录 存在id_rsa和id_rsa.pub这两个文件
id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
2、第二步:登录github,打开” settings”中的SSH Keys页面,然后点击“Add SSH Key”,填上任意title,在Key文本框里黏贴id_rsa.pub文件的内容。
引用一张图片说明
下面的此篇文章讲得很详细就不细说了
把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。
第一次推送
git push -u origin master
由于远程库是空的,我们第一次推送master分支时,加上了 –u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
git remote
要查看当前配置有哪些远程仓库,可以用 Git remote 命令,它会列出每个远程库的简短名字.在克隆完某个项目后,至少可以看到一个名为 origin 的远程库,Git 默认使用这个名字来标识你所克隆的原始仓库
(1)git remote 不带参数,列出已经存在的远程分支
$ git remote
origin
(2)git remote -v 列出详细信息,在每一个名字后面列出其远程url
此时, -v 选项(译注:此为 –verbose 的简写,取首字母),显示对应的克隆地址:
从远程仓库克隆
git clone "远程仓库地址"
分支管理
创建并切换分支
git checkout -b dev
查看当前分支
git branch
说明:git checkout 命令加上 –b参数表示创建并切换,相当于如下2条命令
git branch dev
git checkout dev
git branch查看分支,会列出所有的分支,当前分支前面会添加一个星号。
合并分支
切换到master分支上执行
git merge dev
在master分支上合并dev分支内容
git merge命令用于合并指定分支到当前分支上
删除dev分支
git branch -d dev
总结:
查看分支:git branch
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout –b name
合并某分支到当前分支:git merge name
删除分支:git branch –d name
解决冲突
Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中<<<HEAD是指主分支修改的内容
分支策略:首先master主分支应该是非常稳定的,也就是用来发布新版本,一般情况下不允许在上面干活,干活一般情况下在新建的dev分支上干活,干完后,比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上来。
Git基本常用命令如下:
mkdir: XX (创建一个空目录 XX指目录名)
pwd: 显示当前目录的路径。
git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。
git add XX 把xx文件添加到暂存区去。
git commit –m “XX” 提交文件 –m 后面的是注释。
git status 查看仓库状态
git diff XX 查看XX文件修改了那些内容
git log 查看历史记录
git reset –hard HEAD^ 或者 git reset –hard HEAD~ 回退到上一个版本
(如果想回退到100个版本,使用git reset –hard HEAD~100 )
cat XX 查看XX文件内容
git reflog 查看历史记录的版本号id
git checkout — XX 把XX文件在工作区的修改全部撤销。
git rm XX 删除XX文件
git remote add origin https://github.com/tugenhua0707/testgit 关联一个远程库
git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库
git clone https://github.com/tugenhua0707/testgit 从远程库中克隆
git checkout –b dev 创建dev分支 并切换到dev分支上
git branch 查看当前所有的分支
git checkout master 切换回master分支
git merge dev 在当前的分支上合并dev分支
git branch –d dev 删除dev分支
git branch name 创建分支
git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作
git stash list 查看所有被隐藏的文件列表
git stash apply 恢复被隐藏的文件,但是内容不删除
git stash drop 删除文件
git stash pop 恢复文件的同时 也删除文件
git remote 查看远程库的信息
git remote –v 查看远程库的详细信息
git push origin master Git会把master分支推送到远程库对应的远程分支上
原文参考
http://blog.jobbole.com/78960/
- git复习
- GIT的使用复习
- 复习
- 复习
- 复习
- 复习
- 复习
- 复习
- 复习
- 复习
- 复习
- 复习
- 复习
- 复习
- 复习
- 复习
- 复习
- 复习
- 计算机视觉-人脸识别-浅析人脸检测之Haar分类器方法-转
- redis.clients.jedis.exceptions.InvalidURIException: Cannot open Redis connection due invalid URI
- [Android 源码分析] HandlerThread
- Javasript实现照片墙
- android EditText inputType 大全
- git复习
- 八皇后问题
- iptables命令格式
- CentOS的自动化安装光盘制作 (详细流程)
- 机器学习之多变量线性回归(Linear Regression with multiple variables)
- Arduino Star Otto(STM32F469)
- iOS 多层级列表的实现原理
- 日请求亿级的QQ会员AMS平台PHP7升级实践
- 【C# MVC工具类】DataSet/DataTable 与Xml文件的互相转化