1、Git Gui的使用
2、Ssh key 介紹及使用
Ssh key介紹
我理解的就是每台電腦上會產生出一個ssh key,然后自己有一個遠程賬戶,但是自己有可能有很多台電腦,
包括家里的電腦還有公司的電腦,我們可以在任意一台電腦上工作,但是如果想要每台電腦都和遠程版本庫時刻保持着通訊,
就需要將每台電腦的ssh key添加到遠程賬戶,添加到遠程版本庫之后,遠程版本庫就會和已經添加的電腦進行通訊而不會和其他電腦進行通訊
建議:所有的Git操作都通過ssh key進行,因為簡單
Ssh key配置
操作分為本地電腦配置和github網站配置
第一步:本地電腦配置
右鍵空白處,選擇Git Bash Here打開相關命令窗口
1.配置用戶名和郵箱(如果已經配置,就跳過)
git config --global user.name "username"
git config --global user.email "email"
之后就會在C:\Users\Administrator下創建一個.gitconfig文件,內容為
[user]
name = xxx
email = xxx@xxx.com
注1:username和email即github的登陸帳號和注冊郵箱
注2:git config命令的–global參數,用了這個參數,表示你這台機器上所有的Git倉庫都會使用這個配置
2.檢查下自己之前有沒有已經生成ssh
cd ~/.ssh
ls
注1:當cd ~/.ssh命令執行后窗口返回“no such file or directory”的時候,表示我們的電腦並沒有ssh key,所以需要我們創建ssh key
注2:~表示當前用戶的目錄,比如我的是:C:\Users\Administrator
注3:ls命令執行后,如果本地有ssh秘鑰的話會有id_rsa.pub,config,known_hosts等文件
3.生成(或刪除)秘鑰
ssh-keygen -t rsa -C "xxx@xx.com"//這里的郵箱要換成自己注冊時的郵箱
接着按3個回車即可。
注1:如果本地有ssh,執行以上命令會出現正面的提示,這里選擇y,表示覆蓋本地的ssh key,其實也就是ssh秘鑰刪除的意思
注2:為什么要刪除秘鑰,創建SSH的時候設置過密碼,那就很有可能git操作時出現忘記密碼的尷尬情況,
不要想着怎么重新修改密碼了,選擇重新創建一個ssh秘鑰
注3:創建ssh key不要輸入密碼了,不然操作起來太累~~~~~~~
4.執行命令完成后,默認會在window的C:\Users\Administrator\.ssh下面生成如下兩個名稱的文件:
C:\Users\Administrator\.ssh
id_rsa(私鑰,不能泄露出去)
id_rsa.pub(公鑰)
known_hosts(不用管)
第二步:遠程github倉庫配置
1.登陸到自己的gitbub,點擊右上角的倒立小三角形。選擇 settings
2.選擇SSH and GPG keys
3.點擊右邊的New SSH key
4.隨意填入一個title,然后 key 中粘貼剛才復制的id_rsa.pub文本,點擊 Add key 這樣就大功告成
5.github官網有時候會要你輸入登陸密碼才能添加ssh key。輸入密碼即可
## 第三步為可省略步驟,如果你在取得Git倉庫時就使用的是ssh協議,就無需修改
第三步:修改你本地的ssh remote url. 不用https協議,改用git 協議
1.git remote -v 查看你當前的remote url
git remote -v
## 如何顯示如下內容,則表示Git倉庫是使用https協議進行訪問的。
origin https://github.com/lixiao12/test224.git (fetch)
origin https://github.com/lixiao12/test224.git (push)
2.使用瀏覽器登陸github,找到倉庫ssh協議相應的url。類似如下:
git@github.com:lixiao12/test224.git
3.使用 git remote set-url 來調整你的url。
git remote set-url origin git@github.com:lixiao12/test224.git
4.最后再用 git remote -v 查看一下。協議已改變
第四步:測試SSH連接
1.輸入測試命令
ssh -T git@github.com
如果顯示如下內容,表示ssh key添加成功:
Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.
小結:https 和 SSH 的區別:
- 前者可以隨意克隆github上的項目,而不管是誰的;而后者則是你必須是你要克隆的項目的擁有者或管理員,需要先添加 SSH key ,否則無法克隆。
- https url 在push的時候是需要驗證用戶名和密碼的;而 SSH 在push的時候,是不需要輸入用戶名的;如果配置SSH key的時候設置了密碼,則需要輸入密碼的,否則直接是不需要輸入密碼的。
- Git協議push遠程倉庫不需要填寫github賬號密碼,操作更加方便。
3、Idea配置使用並使用git
1.創建本地倉庫
VCS-->Import into Version Control-->Create Git Repository...
注1:一般會選擇當前項目所在的目錄
2.上傳項目到本地倉庫,項目右鍵選擇Git-->add,此時項目文件變成綠色,此時文件只是處於暫存區,並沒有真正進入到版本庫(本地)中
3.項目右鍵Git--> Commit Directory,在彈窗中輸入Commit Message,點擊commit,此時項目文件從暫存區真正進入版本庫(本地)中,項目文件變成白色
注1:在彈窗中輸入Commit Message,也可以點擊commit and push,會同時提交到本地庫和代碼托管網站
4.上傳項目到GitHub中,VCS-->Import into Version Control-->Share Project on GitHub,在彈框中輸入倉庫名和描述,點擊Share,即可是上傳,
創建本地倉庫
將新建的項目加到本地倉庫緩存區
將新增/改動的文件真正提交到本地倉庫
將本地倉庫同步到遠程倉庫(這里不需要預先在github上建立,再做關聯,與命令的方式有所不同)
將遠程倉庫克隆到本地,成為本地倉庫
在超大型項目會用到分支,有時間有需要再做詳細了解;
創建分支命令:git branch 分支名
查看所有分支命令:git branch
切換分支命令:git checkout 分支名
合並分支到master分支上命令:
首先切換到master分支,git checkout master,然后git merge 分支名。即將創建的分支合並到master上。
刪除分支命令:git branch -d 分支名