Git常用命令及常见问题解决
$ mkdir xxx ----创建xxx目录
$ cd learngit ----切到xxx目录下
$ pwd ----查看当前文件所在目录
$ git init ----通过git init命令把这个目录变成Git可以管理的仓库
$ git add xxx ----把xxx文件添加到仓库[或者把所有文件添加到仓库, git add . ]
$ git commit -m
"wrote a readme file" ----把文件提交到仓库,并写上提交说明
$ git status ---- 查看仓库当前的状态
$ git
diff ----查看被修改的文件内容
$ git log
-----显示从最近到最远的提交日志
$ git reset --hard
HEAD^ -----把当前版本“bbb”回退到上一个版本“aaa”
$ git reflog ----用来记录你的每一次命令
$ git checkout -- file -----让这个文件回到最近一次git commit或git add时的状态
$ git remote add origin
git@server-name:path/repo-name.git ----关联一个远程库
$ git push -u origin master ----推送master分支的所有内容
遇到的问题:
解决办法:
ssh -T git@github.com 查看是否有公钥
ssh-keygen -t rsa -C "xxx@xmail.com" 生成公钥 (邮箱是你github注册的邮箱)
切换到当前目录:
bogon:~ yan$ ls -all |
bogon:~ yan$ cd .ssh/ |
bogon:.ssh yan$ ls -al |
bogon:.ssh yan$ cat id_rsa.pub //查看生成的公钥,并复制
|
遇到的问题
解决办法如下:
1、先输入$ git remote rm origin
2、再输入$ git remote add origin git@github.com:[YourGitHubName]/learnaboutgit.git 就不会报错了!
$ git clone git@github.com:yourname/gitskills.git ----克隆一个本地库
$ git checkout -b dev ----创建一个名为dev的分支并切换到dev
$ git branch ----查看当前分支
$ git merge dev ----合并指定的dev分支到当前分支上
$ git branch -d dev ----删除分支dev
$ git log --graph ----查看分支合并图。
$
git merge --no-ff -m "merge with no-ff" dev ----[合并dev分支,--no-ff参数表示禁用Fast forward]
$ git stash list ----把当前工作现场“储藏”起来并查看存储信息
$ git stash apply ----恢复存藏的内容
$ git stash drop ----删除存藏的内容
$ git stash pop ----恢复的同时把stash内容也删了
$ git branch -D feature-vulcan ----强行删除分支feature-vulcan
$ git remote ----查看远程库的信息
$ git remote -v ----显示远程库更详细的信息
$ git checkout -b dev origin/dev ----创建本地dev分支
$ git pull ----把最新的提交从origin/dev抓下来
推送失败,因为你的小伙伴的最新提交和你试图推送的提交有冲突,解决办法也很简单,Git已经提示我们,先用git
pull把最新的提交从origin/dev抓下来,然后,在本地合并,解决冲突,再推送
$ git branch --set-upstream dev origin/dev ----设置dev和origin/dev的链接
$ git push origin master ----推送master分支,推送时,要指定本地分支
$
git branch --set-upstream
dev origin/dev
如果git pull提示“no tracking
information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name
origin/branch-name。
$
git tag <name> ----打一个新标签
$ git tag ----查看所有标签
$ git log --pretty=oneline --abbrev-commit ----找到历史提交的commit id
$ git show <tagname> ----查看标签信息
$ git tag -a v0.1 -m "version 0.1
released" 3628164 ----创建带有说明的标签,用-a指定标签名,-m指定说明文字
$ git tag -s <tagname> -m
"blablabla..." ----可以用PGP签名标签
$ git tag -d v0.1 ----删除标签
$ git push origin <tagname> ----推送某个标签到远程
$ git push origin --tags ----一次性推送全部尚未推送到远程的本地标签
$ git push origin :refs/tags/v0.9 ----删除远程标签
$ git remote rm origin ----删除已有的GitHub远程库
$ git remote add github git@github.com:youname/仓库名.git ----与github远程库关联
$ git remote add gitee git@gitee.com:yourname/仓库名.git ---- 与码云远程库关联
$ git push github master ----推送到GitHub
$ git push gitee master ----推送到码云
$
git config --global alias.st status ----配置简单别名
(转载或复制请标明出处,谢谢!)
Git常用命令及常见问题解决的更多相关文章
- git常用命令图解 & 常见错误
Git 常用命令 基本命令 git clone.这是一种较为简单的初始化方式,当你已经有一个远程的Git版本库,只需要在本地克隆一份 git clone git://github.com/someon ...
- Linux常用命令和常见问题解决<------>第一章
查看文件下面所有的隐藏目录:ls -al ~ ls -al ~ls -a -l ~可以发现三条命令执行结果是一致的,原因:因为ls为命令 后面的参数要以空格来区分,不论几个空格 shell都会视为一体 ...
- DG常用运维命令及常见问题解决
DG常见运维命令及常见问题解决方法 l> DG库启动.关闭标准操作Dataguard关闭1).先取消日志应用alter database recover managed standby data ...
- 项目开发中git常用命令、git工作流、git分支模型
#新建代码库git init # 在当前目录新建一个Git代码库git init [project-name] # 新建一个目录,将其初始化为Git代码库git clone [url] # 下载一个项 ...
- git 常用命令速查
git 常用命令速查 命令速查表 一.克隆项目 把远程仓库上的项目克隆到本地.一般来说项目是有1个或2个分支,主要是做开发和线上的区别.既然所属分支不一样,那命令也会有一点区别.这里假设是有2个分支, ...
- - Git常用命令 基础 总结 MD
目录 目录 Git常用命令 帮助 help 常用操作 初始化 clone init 提交 push 暂存 更新 撤销修改 分支 branch 查看分支 创建分支 切换分支 checkout 删除分支 ...
- git常用命令(持续更新中)
git常用命令(持续更新中) 本地仓库操作git int 初始化本地仓库git add . ...
- Git 常用命令详解
Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...
- Git 常用命令大全
Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v 添加 ...
随机推荐
- IE bug:ajax请求返回304解决方案
bug说明: 同一账户下的默认收货地址只有一个,默认收货地址可以修改,修改完成后,使用ajax重新加载收货地址部分. 默认收货地址状态标记:status = 1: 在IE浏览器做了修改后,重新加载的数 ...
- js中多维数组转一维
法一:使用数组map()方法,对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组. var arr = [1,[2,[[3,4],5],6]]; function unid(arr){ v ...
- 关于 Form 表单的 enctype 属性
enctype 属性一共有3个值 application/x-www-form-urlencoded 在发送前编码所有字符(默认) multipart/form-data 上传二进制数据, 所以在使用 ...
- HTTP与私有二进制协议之间的区别
简单的文本协议.二进制协议 写网络程序躲不过协议,协议其实就是定义了消息的格式,以及消息是如何交换的.协议可简单可复杂,复杂精密如TCP协议,简单奔放如HTTP的协议.这里将我所接触到的协议稍微总结一 ...
- api-gateway实践(15)3.6JL分支和3.7并行改造需求
一.名称改为"API网关" --哪个地方的名称?二.开发者视图中,API网关显示两个视图. 1. 服务分类视图:支持按照业务分为多个类别,分类方式参照应用服务化的分类:人像比对.自 ...
- Linux CentOS7.0 (01)在Vmvare Workstation上 安装配置
一.新建虚拟机 1.创建新的虚拟机 -> 默认典型 ->选择安装介质 2.指定虚拟机名称.安装目录.磁盘容量大小 点击 "完成",创建虚拟机! 随后虚拟机将自动启动安装 ...
- ELK学习总结(2-4)bulk 批量操作-实现多个文档的创建、索引、更新和删除
bulk 批量操作-实现多个文档的创建.索引.更新和删除 ----------------------------------------------------------------------- ...
- Linux--慕课学习
刚开始接触Linux,很有幸的在慕课网上看到了Peter老师的Linux入门课程,老师讲课真的式行云流水,深入浅出,循循善诱,层层递进. 老师分享的都是自己多年来总结的经验.看完之后也学到了很多东西. ...
- 改变textField的placeholder的颜色和位置
重写UItextField的这个方法,用其他的textField继承自这个父类 - (void) drawPlaceholderInRect:(CGRect)rect { [[UIColor blue ...
- 使用Markup解析xml文件
1:怎么获取Markup.cpp 和 Markup.h 首先到http://www.firstobject.com/dn_markup.htm链接下,下载Release 11.5 zip (579k) ...
