一篇文章是對上一篇文章《Git-TortoiseGit完整配置流程》的拓展,所以需要對上一篇文章有所了解,當然直接往下看也可以,其中也有一些提到一些基礎的操作。
本文以配置github.com賬號和git.oschina.net賬號來逐步演示在Windows環境下配置Git多賬號支持即在同一個電腦上管理多個ssh-key,對git多一分了解。
備注:這篇文章所有執行命令的地方都是在管理員模式下進行,即打開cmd,Git Bash客戶端用管理員身份運行程序。
執行命令 ssh-keygen -t rsa -C email 創建github對應的sshkey,命名為id_rsa_github,密碼 123456
ssh-keygen -t rsa -C 774232122@qq.com
執行命令ssh-keygen -t rsa -C email創建github對應的sshkey,命名為id_rsa_oschina,密碼 123456
ssh-keygen -t rsa -C 774232122@qq.com
除了秘鑰文件之外,config文件是后面的步驟中手動生產的,known_hosts文件是后續自動生產的
GitHub添加SSH key的方式如下圖所示:
git.oschina.net添加SSH key的方式如下圖所示:
每個賬號單獨配置一個Host,每個Host要取一個別名,每個Host主要配置HostName和IdentityFile兩個屬性即可
Host的名字可以取為自己喜歡的名字,不過這個會影響git相關命令,例如:
Host mygithub 這樣定義的話,命令如下,即git@后面緊跟的名字改為mygithub
git clone git@mygithub:PopFisher/AndroidRotateAnim.git
HostName 這個是真實的域名地址
IdentityFile 這里是id_rsa的地址
PreferredAuthentications 配置登錄時用什么權限認證--可設為publickey,password publickey,keyboard-interactive等
User 配置使用用戶名
config文件配置如下:
# 配置github.com Host github.com HostName github.com IdentityFile C:\\Users\\popfisher\\.ssh\\id_rsa_github PreferredAuthentications publickey User username1 # 配置git.oschina.net Host git.oschina.net HostName git.oschina.net IdentityFile C:\\Users\\popfisher\\.ssh\\id_rsa_oschina PreferredAuthentications publickey User username2
clone github上的項目AndroidRotateAnim
打開github上AndroidRotateAnim項目,復制其對應的clone命令入下圖所示
執行clone命令如下:
clone oschina.net上的項目AndroidDevTools
打開git.oschina.net上AndroidDevTools項目,復制其對應的clone命令入下圖所示
執行clone命令如下:
在使用git的過程中,一般都只關注單賬號的情況嗎,工作中的配置也是直接由自己的上級發一個配置文檔之類的東西,然后對著搞一遍就行了,可是當自己真正有這個需求的時候,突然發現束手無策。我自己當時也屬于這個情況,有一天在家里,突然發現自己需要一臺電腦支持多個SSH key的時候才發現自己不知道怎么下手了,于是就下定決心自己動手研究一下。對于技術,還是要親自動手實踐,實踐出來的東西才能形成自己的真理,才不那么容易忘記。
這篇文章是我基于Win10平臺上的實踐,由于知識有限,可能還是沒有總結得很完整,也可能在其他平臺上會遇到一些其他的問題,沒有時間去研究了,如果讀者有遇到什么問題,歡迎留言討論,共同學習。
git作為版本控制軟件比svn稍微更難理解,不過一樣可以使用
git基本原理
git基本原理
git常見概念
HEAD 、 master 、 branch 。這里總結一下:
git、tortoiseGit使用教程
tortoiseGit圖形化比git命令行更方便,當前使用的版本TortoiseGit 2.10.0.2
1.創建倉庫
右鍵選擇 git create repository here...
2.提交文件
右鍵選擇 git commit -->master
3.更新文件
新建一個文件夾,克隆下來后,如果遠端分支發生變化,右鍵選擇拉?。ㄏ喈斢趃it pull),即可完成更新。
4.回退||回滾代碼
先右鍵選擇tortoiseGit -> showlog,然后選擇一個版本 reset master to this...
這個時候有3個模式 soft mixed hard,默認mixed就行
5.拉取分支
右鍵選擇tortoiseGit -> create Branch.. 輸入名稱
切換分支tortoiseGit--> switch/Checkout
6.解決沖突
打開開需要解決的文件并解決,然后保存標記為解決
7.清理無效的文件
tortoiseGit->clean up
目前發現中文文件名的文件清理無效,但是永久刪除可以