idea和Webstorm上使用git和github,码云
由于之前一直使用svn,现在项目使用git,顾根据网上找的学习资料,自己梳理了下,收获蛮多,这里做个记录,如果能帮助到您那是最好不过的。
1.大致步骤
使用工具:idea,github,码云
webstorm和idea由于都是一个公司的产品,操作手法基本一致,这里主要是讲idea
1.安装idea,下载git工具,idea中进行关联
2.在本机上生成公钥和私钥,然后在自己的github和码云账号上进行注册,这样才能把自己的项目上传上去。
3.在主分支master上进行git add,commit,push,pull等演示操作
4.模拟开个分支然后再合并主分支的操作
5.使用stash存储合并主分支
6.模拟一些特殊场景的报错解决方法
7.github和码云上传的介绍
8.本次学习git,github,码云所推荐您看的一些文章
2.git客户端下载
2.1 安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!打开Git Bash 命令行操作界面。

2.2创建ssk,获得本机的公钥和私钥
ssh-keygen -t rsa -C "youremail@example.com"

如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人,目录就是上面的c:/users/sunjian/.ssh/id_rsa
第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:





3.私钥公钥配置好了,现在上传到github的路已经打通了。
3.1在idea上新建一个springboot项目用来测试github

这步作用主要是可以把本地项目上传到github上面


现在就先把这个springbootdemo上传到github上面,然后在测试commit,add,pull,push




如何把本地修改的文件先放到本地库中再从本地库中去除


如果是新增文件夹,一定要把文件夹git add进去,光add文件也不行.







push完成,远程github服务器更新了


相当于git log这个指令


compare with 也是和最近一次线上版本进行比较,compare with branch是和分支上的代码进行比较.
show current revision 可以查看此次文件提交的版本号




竟然能够回退上2个版本,服务器上的没删,本地的回退了2个版本。那就要能够返回到最近那个版本。如何操作呢

另外由于回退到上2个版本了,黄色卡片(head)现在指向的是springbootdemo测试git和github,所以这个head就是一个版本的index下标


这个版本号也没必要写全,git是模糊搜索的,不写全可能会搜索出多个版本,你在选择其中一个版本即可





如果想把远程master分支上的TestDemo2也删除掉,先本地删除后,再commit changes到master分支,就可以删掉master分支上的TestDemo2



commit之后只是放到了暂存区,然后还需要push之后才能更新master分支的版本库,删除testdemo2






说明现在是在dev的分支上,我们现在git add,commit,push,先提交到自己的dev分支上























status20171227这个相当于是一个临时存储的id,需要记录,然后再右下角new branch,创建分支的时候吧status20171227记录上去即可
status和new branch普通分支的区别是:比如在master主分支基础上创建了一个status,那就是吧master主分支存储起来放到另外一个分支上去进行修改,改完以后在恢复到master上面进行合并。
new branch就如前面看到的,只是将master当中其中一部分已经commit的放到另外一个分支上去,不是master全部内容
这些操作只要commit即可,不需要push远程仓库,commit就是放在缓存区,然后本地合并完以后,再push到远程分支上。







接下来说下如何使用码云
首先要注册码云的账号密码,操作手法和github差不多,把公钥和私钥去码云那边注册。










总结:本次git学习推荐网站
使用WebStorm/IDEA上传本地项目到GitHub
廖雪峰的官方网站
本次学习的过程:一开始先通过本地git,git bash非图形化界面练了遍,然后再根据软件来操作,git里面有很多命令,软件当中的一些操作也是常用指令,如果满足不了需求,可以自己输入指令。下面是git一些常用指令。
创建文件夹: mkdir <name>
进入文件夹: cd <name>
显示当前目录: pwd
把当前目录变成Git: git init
显示隐藏目录: ls -ah
查看git仓库状态: git status
把文件添加到git仓库: git add <file name>
把文件提交到仓库: git commit -m "说明"
查看修改后的不同: git diff
查看提交历史: git log --pretty=oneline
回退到上一个版本: git reset --hard HEAD^
回退到某个版本: git reset --hard <commit id>
查看命令历史: git reflog
工作区和暂存区对比: git diff
暂存区和分区对比: git diff -- cached
工作区和分支对比: git diff -- <file...>
丢弃工作区的修改: git checkout -- <file...>
撤销暂存区的修改: git reset HEAD <file...> + git checkout -- <file...> 或 git reset --hard HEAD
删除工作区文件: rm <file...>
从版本库删除该文件: git rm <file...> + git commit -m "说明"
撤销工作区文件的删除: git checkout -- <file...>
撤销暂存区文件的删除: git reset HEAD <file...> + git checkout -- <file...> 或 git reset --hard HEAD
创建SSH Key: ssh-keygen -t rsa -C "15521232672@163.com"
关联一个远程库: git remote add origin git@github.com:RaymondHww/learngit.git
推送master分支的内容: git push -u origin master (第一次推送要参数 -u ,之后就不用了)
从远程克隆仓库到本地: git clone git@github.com:RaymondHww/gitskills.git
查看分支: git branch
创建分支: git branch <name>
切换分支: git checkout <name>
创建+切换分支: git checkout -b <name>
合并某分支到当前分支: git merge <name>
删除分支: git branch -d <name>
查看分支合并情况: git log --graph --pretty=oneline --abbrev-commit
使用普通模式合并: git merge --no-ff -m "说明" dev
把工作现场储藏: git stash
查看储藏的工作现场: git stash list
恢复储藏的工作现场: git stash apply stash@{0}
删除stash内容: git stash drop stash@{0}
恢复并删除stash内容: git stash pop
强行删除未合并的分支: git branch -D <branch_name>
显示详细的远程库信息: git remote -v
推送分支到远程库: git push origin master 或 git push origin dev
克隆远程库到本地后只有master分支
在本地创建和远程分支对应的分支:git checkout -b branch-name origin/branch-name
建立本地分支和远程分支的关联: git branch --set-upstream branch-name origin/branch-name
因此,多人协作的工作模式通常是这样:
首先,可以试图用git push origin branch-name推送自己的修改;
如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,
用命令git branch --set-upstream branch-name origin/branch-name。
tag就是一个让人容易记住的有意义的名字,它跟某个commit绑在一起。
打一个新标签到最新的提交上: git tag v1.0
打一个新标签到历史的提交上: git tag v1.1 <commit-id>
查看所有标签: git tag
查看标签信息: git show v1.0
创建带有说明的标签: git tag -a v1.2 -m "说明" <commit-id>
通过-s用私钥签名一个标签: git tag -s v1.3 -m "说明" <commit-id>
删除本地标签: git tag -d v1.0
推送某个标签到远程: git push origin <tag-name>
一次性推送全部尚未推送到远程的标签:git push origin --tags
删除已经推送到远程的标签: git tag -d v1.0 然后 git push origin :refs/tags/v1.0
原文链接:https://www.jianshu.com/p/89899575e268
关注我的公众号,都是满满的干货!

idea和Webstorm上使用git和github,码云的更多相关文章
- GIT 版本管理-github&码云
GIT 是什么 git是一个用于帮助用户实现版本控制的软件. 把本地代码push到远程服务器 git add.git commitpush code to remove machine.git pus ...
- 使用webstorm上传代码到github
使用webstorm上传代码到github 字数681 阅读330 评论0 喜欢5 之前使用过webstorm上传代码到github,过了几个月竟然发现自己忘记了,好记性不如烂笔头啊,今天又重新用了一 ...
- 通过Webstorm上传代码到Github、更新代码后同步到github及克隆github代码到本地的方法
导读: Github做为IT爱好者分享代码的一个知名的平台,广受大家喜欢,那么我们平时该怎么将自己写的代码上传到github上面保存并且提供给其他人参考? 我想方法不外乎如下几个: 1.直接在gith ...
- git+可视化工具+github/码云
git (实际上git和TortoiseGIT是一回事,只是TortoiseGIT把git命令行功能做了一个可视化处理,所以下面git和TortoiseGIT实现功能是一样的) 1.如何使用Git上传 ...
- 利用Typora+PicGo+OSS+Git+Github/码云搭建个人云笔记
搭建个人云笔记 对于程序员来讲,使用markdown可以帮助我们快速地写作,书写出排版好看,颜值高的笔记,使用markdown来书写文档相比于使用word要简单快捷的多 市面上有很多markdown的 ...
- Windows下配置Git多账号github码云
Windows下配置Git多账号github码云 1.配置了全局用户名和邮箱 $ git config --global user.email "你的邮箱" $ git confi ...
- github下载速度慢甚至多次失败,通过码云的导入功能导入github项目到码云上,然后再从码云下载
github下载速度慢甚至多次失败,通过码云的导入功能导入github项目到码云上,然后再从码云下载 参考 https://blog.csdn.net/kcx64/article/details/83 ...
- IDEA上的项目托管到码云步骤
IDEA上的项目托管到码云步骤:1.安装Git2.idea上配置Git Setting-Version Control-Git 把git.exe改为安装的Git的执行路径如:D:\Prog ...
- Git学习与码云实战
Git学习与码云实战 一.Git安装 概述: Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具. 下载安装: 下载地址:http ...
随机推荐
- link和import导入外部样式的区别
1.结构 link语法结构 <link rel="stylesheet" href="CSSurl" type="text/css" ...
- 【转】python XML 操作总结(创建、保存和删除,支持utf-8和gb2312)
原文地址:http://hi.baidu.com/tbjmnvbagkfgike/item/6743ab10af43bb24f6625cc5 最近写程序需要用到xml操作,看了看python.org上 ...
- redis源码分析之有序集SortedSet
有序集SortedSet算是redis中一个很有特色的数据结构,通过这篇文章来总结一下这块知识点. 原文地址:http://www.jianshu.com/p/75ca5a359f9f 一.有序集So ...
- SQL Server 的常见约束
1.主键约束------我是最常见的哦(PRIMARY KEY) 限制:不能为空,数据唯一,一个表中只有一个 方法: 建表时直接在列类型后面添加 如: CREATE TABLE stuDB ( S ...
- [贪心][高精]P1080 国王游戏(整合)
题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排成一排,国王站在队伍的最 ...
- 外部地址访问xampp
默认情况下xampp只能访问本地服务器的地址.即localhost如果需要在外部机器访问XAMPP,则需要修改配置:找到xampp的文件夹,找到apache文件夹中的conf->extra-&g ...
- 用JS实现Ajax请求
AJAX核心(XMLHttpRequest) 其实AJAX就是在Javascript中多添加了一个对象:XMLHttpRequest对象.所有的异步交互都是使用XMLHttpServlet对象完成的. ...
- 【前端工具】Chrome 扩展程序的开发与发布 -- 手把手教你开发扩展程序
关于 chrome 扩展的文章,很久之前也写过一篇.清除页面广告?身为前端,自己做一款简易的chrome扩展吧. 本篇文章重在分享一些制作扩展的过程中比较重要的知识及难点. 什么是 chrome 扩展 ...
- angular中复制文字到剪切板
function copyToClipboard(oElement, value) { var aux = document.createElement("input"); if ...
- MongoDb安装--yum安装
本帖最后由 草包 于 2017-5-2 09:57 编辑 [Shell] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 ...