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

快快關注我吧.gif

由于之前一直使用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 命令行操作界面。


image.png

2.2創建ssk,獲得本機的公鑰和私鑰

ssh-keygen -t rsa -C "youremail@example.com"
image.png

如果一切順利的話,可以在用戶主目錄里找到.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文件的內容:


image.png

image.png

image.png

image.png

image.png

3.私鑰公鑰配置好了,現在上傳到github的路已經打通了。
3.1在idea上新建一個springboot項目用來測試github


image.png

這步作用主要是可以把本地項目上傳到github上面


image.png

image.png

現在就先把這個springbootdemo上傳到github上面,然后在測試commit,add,pull,push


image.png

image.png

image.png

image.png

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


image.png
image.png

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


image.png

image.png

image.png

image.png

image.png

image.png

image.png

push完成,遠程github服務器更新了


image.png

image.png

相當于git log這個指令
image.png

image.png

compare with 也是和最近一次線上版本進行比較,compare with branch是和分支上的代碼進行比較.
show current revision 可以查看此次文件提交的版本號
image.png

image.png

image.png

image.png

竟然能夠回退上2個版本,服務器上的沒刪,本地的回退了2個版本。那就要能夠返回到最近那個版本。如何操作呢


image.png

另外由于回退到上2個版本了,黃色卡片(head)現在指向的是springbootdemo測試git和github,所以這個head就是一個版本的index下標
image.png

image.png

這個版本號也沒必要寫全,git是模糊搜索的,不寫全可能會搜索出多個版本,你在選擇其中一個版本即可


image.png

image.png

image.png

image.png

image.png

如果想把遠程master分支上的TestDemo2也刪除掉,先本地刪除后,再commit changes到master分支,就可以刪掉master分支上的TestDemo2
image.png

image.png

image.png

commit之后只是放到了暫存區,然后還需要push之后才能更新master分支的版本庫,刪除testdemo2
image.png

image.png

image.png

image.png

image.png

image.png

說明現在是在dev的分支上,我們現在git add,commit,push,先提交到自己的dev分支上


image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

![image.png](http://upload-images.jianshu.io/upload_images/5548226-12710c7cf02bf76a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

image.png

image.png

image.png

image.png

image.png

image.png

status20171227這個相當于是一個臨時存儲的id,需要記錄,然后再右下角new branch,創建分支的時候吧status20171227記錄上去即可
status和new branch普通分支的區別是:比如在master主分支基礎上創建了一個status,那就是吧master主分支存儲起來放到另外一個分支上去進行修改,改完以后在恢復到master上面進行合并。
new branch就如前面看到的,只是將master當中其中一部分已經commit的放到另外一個分支上去,不是master全部內容
這些操作只要commit即可,不需要push遠程倉庫,commit就是放在緩存區,然后本地合并完以后,再push到遠程分支上。
image.png

image.png

image.png

image.png

image.png

image.png

image.png

接下來說下如何使用碼云

首先要注冊碼云的賬號密碼,操作手法和github差不多,把公鑰和私鑰去碼云那邊注冊。


image.png

image.png
image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

總結:本次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
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容