git安裝、使用和idea連接github
git是什么
版本控制工具,可以幫助我們托管代碼。類似於雲盤,把我們的項目上傳到git上,團隊的人都可以從git拉取項目代碼。
安裝
https://git-scm.com/downloads ,git官網下載需要的版本,一路下一步安裝即可
裝好后,在電腦文件夾的任意位置右鍵,即可看到git相關的命令。
git bash是命令行工具
git gui是圖形化工具
打開git bash后,輸入git --version ,能正確輸出版本號,則證明安裝成功。
基本命令
配置用戶名和郵箱
git config --global user.name ‘自己的名字’
git config --global user.name ‘自己的郵箱’
- local 只對當前倉庫有效
- global 所有倉庫有效
- system 對系統所有用戶有效
查看配置
git config --list --local
git config --list --global
git config --list --system
清除
git config --unset --local user.name
git config --unset --global user.name
git config --unset --system user.name
創建倉庫
進入要被托管的文件夾,執行
git init
添加文件至暫存區
git add 文件名
提交文件
git commit -m '描述'
查看git狀態
git status
查看修改內容
git diff 文件名
修改文件名字
git mv 原文件名 新文件名
查看日志
git log
功能為查看日志
git log --pretty=oneline
查看日志,以單行顯示
git reflog
功能為查看歷史操作記錄,比如回退版本后想要重返“未來”可以查看最新的提交版本
通過可視化工具查看提交信息
gitk
版本回退
git reset --hard head^
退回到上一個版本
git reset --hard 版本號
當知道對應的版本號時,可以用這個命令,適用於回退和前往之前的新版本
撤銷操作
git restore 文件名
新版本git提示用該命令進行撤銷
git checkout – 文件名
舊版本用此命令做撤銷,新版本也可以用
如果已經add進暫存區
git restore --staged 文件名
新版本git用該命令
git reset head 文件名
此為舊版本git命令,新版本也可以用
刪除文件
git rm -f 文件名
使用分支
查看當前分支
git branch
創建dev分支並切換過去
git checkout -b dev
-b表示創建並切換,相當於下面兩條命令
git branch dev
創建分支
git checkout dev
切換分支
注意:上面是老版本的命令,創建分支和撤銷都用checkout容易分不清,因此新版本創建分支推薦用
switch
git switch -c dev
創建並切換到dev
git switch dev
直接切換到已有的dev分支
合並分支
git merge dev
將dev分支合並到當前分支,合並后會丟失原來分支的信息
git merge --no-ff -m “merge with no-ff” dev
合並dev到當前分支,–no-ff表示禁用fast forwad,之后查看日志時是可以看到已被刪除分支的信息
刪除分支
git branch -d dev
git branh -D dev
如果dev沒有被合並過用大寫 -D
查看分支合並情況
git log --graph --pretty=oneline --abbrev-commit
stash的使用(bug分支)
git stash
保存當前的工作現場
git stash list
查看所有被保存的工作
git stash pop
恢復並刪除工作現場,等價於git stash apply + git stash drop
開發環境在dev分支下,bug修復是提交在master中,如何快速合並至dev下:轉移至dev分支下,執行下面命令
git cherry-pick bug分支的提交版本號
遠程倉庫(Github)
配置ssh秘鑰
通過普通方式連接遠程倉庫,每次提交時都需要輸入用戶名密碼,很麻煩。
所以這里為了后續提交方便,需要配置一下本地git和遠程的ssh秘鑰,這樣以后提交就不需要手動驗證了。
-
在本地執行以下命令生成秘鑰,然后一路回車即可,默認生成的秘鑰文件存放在用戶目錄下的.ssh文件夾下
ssh-keygen -t rsa -C "這里換上你的郵箱"
- 這里是生成好的秘鑰,其中id_rsa.pub是公鑰,這個需要配置到你的遠程倉庫上
- 這里以github為例,進入你的github,進入設置,找到ssh的配置
點擊創建一個ssh秘鑰,用文本編輯器打開id_rsa.pub,復制其中的內容到git上。標題部分自己隨便起個名字即可
- 以后用git連接github的時候選擇ssh連接
遠程克隆到本地
git clone 自己的git項目地址
如果是本地沒有項目,從遠程往下拉項目則是克隆
關聯
git remote add origin 自己的git項目地址
如果本地先建好了項目,那么執行這個命令將本地倉庫與遠程倉庫關聯
拉取遠程的更新
git pull
第一和遠程關聯上之后,在提交之前要先拉去一下遠程的更新才行
基本推送
git push -u origin master
第一次推送是要加上-u,可以把本地的master和遠程的master關聯起來,方便以后的推送或者拉取
git push origin master
之后推送可以直接用該命令
查看遠程倉庫信息
git remote
git remote -v
此命令可顯示更詳細信息
多人協作
-
git checkout -b 分支名 origin/分支名,在本地創建和遠程分支對應的分支,名稱最好一致
-
git branch --set-upstream-to=origin/dev dev,建立本地分支和遠程分支的關聯
-
git pull,先抓取遠程的更新,如果有沖突,手動解決沖突
-
git push origin 分支名,解決沖突后推送
標簽
基本操作
標簽的作用可以簡單理解為給版本起名字
git tag
查看所有標簽
git tag 標簽名
把當前分支的最新提交打上標簽,標簽名字自己起
git tag 標簽名 對應commit版本號
把某個版本號的提交打上標簽
git tag -a v0.1 -m “描述信息” 版本號
可以用這種方式給標簽增加說明,-a對應標簽名,-m對應描述信息
git show 標簽名
查看標簽具體信息
git tag -d 標簽名
刪除標簽
推送標簽
git push origin 標簽名
推送某個標簽到遠程
git push origin --tags
推送所有標簽到遠程
刪除遠程標簽:
git tag -d 標簽名
先刪除本地標簽
git push origin: refs/tags/標簽名
然后從遠程刪除
idea 連接github
1. 首先按照上面的教程安裝好git
2. idea配置
file--settings--version control--git
把自己安裝好的git的啟動程序配置在這里,然后點擊右邊的test按鈕,若能出現彈窗打印git版本,說明連接成功
點擊github,添加賬號。如果是連接碼雲,則點擊gitee
這里輸入用戶名密碼會報錯,提示可以用令牌來登錄,首先去github的設置里生成一個令牌,然后再來點擊這里的紅框處,把生成的令牌復制過來。
github生成令牌
打開設置,點擊紅框處
之后選擇左側菜單欄第三個,然后在右邊生成令牌即可
上傳項目到github
如下圖,然后一路下一步即可。idea可以直接在github上創建一個項目,所以不用先在github上創建空項目
從github上拉取項目
git上設置多人合作一個項目
git上打開某個項目,進入項目設置
選擇左側的manage access,右邊邀請用戶進入本項目
