idea和Webstorm上使用git和github,码云

idea和Webstorm上使用git和github,码云_第1张图片
由于之前一直使用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 命令行操作界面。
idea和Webstorm上使用git和github,码云_第2张图片
2.2创建ssk,获得本机的公钥和私钥

ssh-keygen -t rsa -C "[email protected]"

idea和Webstorm上使用git和github,码云_第3张图片
如果一切顺利的话,可以在用户主目录里找到.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文件的内容:
idea和Webstorm上使用git和github,码云_第4张图片
idea和Webstorm上使用git和github,码云_第5张图片
idea和Webstorm上使用git和github,码云_第6张图片
idea和Webstorm上使用git和github,码云_第7张图片
idea和Webstorm上使用git和github,码云_第8张图片
3.私钥公钥配置好了,现在上传到github的路已经打通了。
3.1在idea上新建一个springboot项目用来测试github
idea和Webstorm上使用git和github,码云_第9张图片

这步作用主要是可以把本地项目上传到github上面
idea和Webstorm上使用git和github,码云_第10张图片
idea和Webstorm上使用git和github,码云_第11张图片
现在就先把这个springbootdemo上传到github上面,然后在测试commit,add,pull,push
idea和Webstorm上使用git和github,码云_第12张图片
idea和Webstorm上使用git和github,码云_第13张图片
idea和Webstorm上使用git和github,码云_第14张图片
idea和Webstorm上使用git和github,码云_第15张图片

如何把本地修改的文件先放到本地库中再从本地库中去除
idea和Webstorm上使用git和github,码云_第16张图片

idea和Webstorm上使用git和github,码云_第17张图片

如果是新增文件夹,一定要把文件夹git add进去,光add文件也不行.
idea和Webstorm上使用git和github,码云_第18张图片
idea和Webstorm上使用git和github,码云_第19张图片
idea和Webstorm上使用git和github,码云_第20张图片
idea和Webstorm上使用git和github,码云_第21张图片
idea和Webstorm上使用git和github,码云_第22张图片
idea和Webstorm上使用git和github,码云_第23张图片
image.png
push完成,远程github服务器更新了
idea和Webstorm上使用git和github,码云_第24张图片
idea和Webstorm上使用git和github,码云_第25张图片
相当于git log这个指令
idea和Webstorm上使用git和github,码云_第26张图片
idea和Webstorm上使用git和github,码云_第27张图片
compare with 也是和最近一次线上版本进行比较,compare with branch是和分支上的代码进行比较.
show current revision 可以查看此次文件提交的版本号

idea和Webstorm上使用git和github,码云_第28张图片
idea和Webstorm上使用git和github,码云_第29张图片
idea和Webstorm上使用git和github,码云_第30张图片
idea和Webstorm上使用git和github,码云_第31张图片
竟然能够回退上2个版本,服务器上的没删,本地的回退了2个版本。那就要能够返回到最近那个版本。如何操作呢
idea和Webstorm上使用git和github,码云_第32张图片
另外由于回退到上2个版本了,黄色卡片(head)现在指向的是springbootdemo测试git和github,所以这个head就是一个版本的index下标
idea和Webstorm上使用git和github,码云_第33张图片
idea和Webstorm上使用git和github,码云_第34张图片
这个版本号也没必要写全,git是模糊搜索的,不写全可能会搜索出多个版本,你在选择其中一个版本即可
idea和Webstorm上使用git和github,码云_第35张图片
idea和Webstorm上使用git和github,码云_第36张图片
idea和Webstorm上使用git和github,码云_第37张图片
idea和Webstorm上使用git和github,码云_第38张图片
idea和Webstorm上使用git和github,码云_第39张图片
如果想把远程master分支上的TestDemo2也删除掉,先本地删除后,再commit changes到master分支,就可以删掉master分支上的TestDemo2
idea和Webstorm上使用git和github,码云_第40张图片
idea和Webstorm上使用git和github,码云_第41张图片
idea和Webstorm上使用git和github,码云_第42张图片
commit之后只是放到了暂存区,然后还需要push之后才能更新master分支的版本库,删除testdemo2
idea和Webstorm上使用git和github,码云_第43张图片
idea和Webstorm上使用git和github,码云_第44张图片
idea和Webstorm上使用git和github,码云_第45张图片
idea和Webstorm上使用git和github,码云_第46张图片
idea和Webstorm上使用git和github,码云_第47张图片
idea和Webstorm上使用git和github,码云_第48张图片
说明现在是在dev的分支上,我们现在git add,commit,push,先提交到自己的dev分支上
idea和Webstorm上使用git和github,码云_第49张图片
idea和Webstorm上使用git和github,码云_第50张图片
idea和Webstorm上使用git和github,码云_第51张图片
idea和Webstorm上使用git和github,码云_第52张图片
idea和Webstorm上使用git和github,码云_第53张图片
idea和Webstorm上使用git和github,码云_第54张图片
idea和Webstorm上使用git和github,码云_第55张图片
idea和Webstorm上使用git和github,码云_第56张图片
idea和Webstorm上使用git和github,码云_第57张图片
idea和Webstorm上使用git和github,码云_第58张图片
idea和Webstorm上使用git和github,码云_第59张图片
idea和Webstorm上使用git和github,码云_第60张图片
idea和Webstorm上使用git和github,码云_第61张图片
idea和Webstorm上使用git和github,码云_第62张图片
idea和Webstorm上使用git和github,码云_第63张图片
idea和Webstorm上使用git和github,码云_第64张图片
idea和Webstorm上使用git和github,码云_第65张图片
](http://upload-images.jianshu.io/upload_images/5548226-1ad54a31b7ef4743.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
idea和Webstorm上使用git和github,码云_第66张图片
idea和Webstorm上使用git和github,码云_第67张图片
idea和Webstorm上使用git和github,码云_第68张图片
idea和Webstorm上使用git和github,码云_第69张图片
idea和Webstorm上使用git和github,码云_第70张图片
idea和Webstorm上使用git和github,码云_第71张图片
status20171227这个相当于是一个临时存储的id,需要记录,然后再右下角new branch,创建分支的时候吧status20171227记录上去即可
status和new branch普通分支的区别是:比如在master主分支基础上创建了一个status,那就是吧master主分支存储起来放到另外一个分支上去进行修改,改完以后在恢复到master上面进行合并。
new branch就如前面看到的,只是将master当中其中一部分已经commit的放到另外一个分支上去,不是master全部内容
这些操作只要commit即可,不需要push远程仓库,commit就是放在缓存区,然后本地合并完以后,再push到远程分支上。
idea和Webstorm上使用git和github,码云_第72张图片
idea和Webstorm上使用git和github,码云_第73张图片
idea和Webstorm上使用git和github,码云_第74张图片
idea和Webstorm上使用git和github,码云_第75张图片
idea和Webstorm上使用git和github,码云_第76张图片
idea和Webstorm上使用git和github,码云_第77张图片
idea和Webstorm上使用git和github,码云_第78张图片

接下来说下如何使用码云

首先要注册码云的账号密码,操作手法和github差不多,把公钥和私钥去码云那边注册。
idea和Webstorm上使用git和github,码云_第79张图片
idea和Webstorm上使用git和github,码云_第80张图片

idea和Webstorm上使用git和github,码云_第81张图片
idea和Webstorm上使用git和github,码云_第82张图片
idea和Webstorm上使用git和github,码云_第83张图片
idea和Webstorm上使用git和github,码云_第84张图片
idea和Webstorm上使用git和github,码云_第85张图片
idea和Webstorm上使用git和github,码云_第86张图片
idea和Webstorm上使用git和github,码云_第87张图片
idea和Webstorm上使用git和github,码云_第88张图片

总结:本次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 "[email protected]"
关联一个远程库:        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-nametag就是一个让人容易记住的有意义的名字,它跟某个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

关注我的公众号,都是满满的干货!

idea和Webstorm上使用git和github,码云_第89张图片

你可能感兴趣的:(git,github,码云,webstorm,idea)