以前作代碼版本控制都是在bitbucket上面的私有倉庫。如今開源社區挺火的,想在github找些開源的工程學習一下,因而加入了github,這裏記錄一下入門的經歷。linux
首先建立帳戶的過程在這裏就省略一萬字了…git
點這裏進github官網github
建立完帳戶,你就能夠開始創建本身的第一個倉庫了。你會在你奇奇怪怪的默認頭像旁邊看見一個很大的「+」號,點下去,能夠看到2個選項,第一個就是新建個代碼倉庫。shell
填好倉庫名,而後點上建立一個README,最好也填點說明。windows
而後你就能看到下面的界面了,如今裏面只有一個ReadMe,注意紅框的位置,這就是你的倉庫地址,若是要克隆倉庫,就是這個地址。安全
接下來就能夠添加你的工程文件了,你能夠用網站上的功能按鈕新建文件或者上傳文件,可是推薦仍是在本地用命令行操做。服務器
那本地怎麼操做呢?有2個方案:markdown
1. 直接下載github的桌面程序,是可視化的,很容易上手,建議新手使用。https://desktop.github.com/ssh
2. 使用命令行,這裏推薦使用命令行,一來效率高,二來之後你到不一樣的平臺上,能很快的上手,再者若是你之後用的服務器沒有圖形界面,只能用命令行。因此仍是熟悉的好。
首先你須要安裝git工具
紅帽系列
$ sudo yum install git
Ubuntu系,請嘗試用 apt-get:
$ sudo apt-get install git
在 Mac 上安裝 Git 有多種方式。 最簡單的方法是安裝 Xcode Command Line Tools。 Mavericks (10.9) 或更高版本的系統中,在 Terminal 裏嘗試首次運行 git 命令便可。 若是沒有安裝過命令行開發者工具,將會提示你安裝。
若是你想安裝更新的版本,可使用二進制安裝程序。 官方維護的 OSX Git 安裝程序能夠在 Git 官方網站下載,網址爲 http://git-scm.com/download/mac。
windows用戶用2個選擇:
1. 若是命令已經熟悉的建議用msysGit能夠去官網下載:
https://git-for-windows.github.io/
2. 若是安裝了github桌面版,自動會有個git shell (我用的這個,比較好看)
https://desktop.github.com/
安裝就一路下一步就行了。因爲我是windows環境,這裏重點就講windows上git的使用,不過命令都是通用的。
安裝完msysgit後,會有Git Bash的圖標,安裝完github桌面版會有個git shell
我建議用git shell,比較友好(可是命令都是通用的)。Git shell裏面,windows和linux的命令均可以用!是否是很贊。
打開後是一個控制檯,而後就能夠輸入命令了
一開始什麼都不會的時候,可使用
git help
查看可用命令。下面先記錄一些剛開始可能會用到的命令,剩下的命令之後再記錄。
能夠用
git init
初始化一個倉庫,可是通常經常使用的都是克隆現有的倉庫,這裏仍是用剛纔建立的helloworld倉庫
git clone https://github.com/hk029/hello-world.git
url後面能夠用一個新的路徑名,讓它保存到特定的目錄下,默認就是當前路徑下建立一個和倉庫名同樣的目錄。
注意:這個命令是克隆了一個倉庫而不是簡單的拷貝了文件下來,還保存了有關倉庫的信息,基本就是克隆出了一個小的本地倉庫。
而後能夠cd進去看看
這裏有個比較有意思的地方,你會發現目錄名後一個’[master]’這個表示目前這是一個master分支。當前目錄有個.git目錄,它會記錄倉庫的信息,因此你能看到‘[master]’這個標籤。以後你對當前目錄的文件作的操做,都會被記錄。
檢查目前倉庫的狀態是挺重要的一個環節,以避免你提交代碼的時候提交的不是最新代碼。
通常來講,你目前目錄下的文件就兩種狀態
咱們能夠先輸入命令看看當前倉庫的狀態
git status
能夠發現目前目錄下很乾淨,一切都和當初克隆下來同樣,因此狀態顯示也是很乾淨。
咱們新鍵一個文件,或者從別的地方移動一個文件到當前目錄下,看看有什麼變化。
咱們能夠看見,‘[master]’以後多了幾個東西。
+1 表示目前有1個新文件
~0 表示0個修改的文件
-0 表示0個刪除的文件
! 表示未保存
咱們再輸入status命令看看
發現目前有個未跟蹤的文件了。
咱們把它暫存到暫存區
git add NewFile
這個命令會把這個文件放到暫存區(仍是在本地)到時候提交的時候就會把暫存區的東西提交到網上。
這個時候,咱們發現紅色的字變成了綠色,感嘆號也沒有了,說明目前修改都已經保存了。
再輸入satus命令看看
這個時候已是跟蹤狀態了。
若是咱們這時候修改NewFile會發生什麼呢?
能夠發現,又變紅了,這時候出先了~1,說明有一個修改文件。使用status命令看看
果真,出現了一個NewFile在未跟蹤裏面。這不是很奇怪嗎,一個文件既是跟蹤又是未跟蹤?其實這很好理解,你能夠理解爲暫存區還有一個NewFile拷貝,就是原來那個咱們add的「空」的NewFile。修改的這個不在暫存區,若是這時候咱們把全部修改提交,那麼提交的是「空」的NewFile。
因此當咱們提交前,必定要看是否是還有紅字?是否是還有什麼修改沒有更新到暫存區!
最後,還說下,其實git status有個簡化輸出的形式。
git status -s
這裏我爲了讓全部狀態都出現,刪除了README.md,能夠發現這個簡化版輸出其實更直觀。
咱們把全部的修改更新到暫存區吧:
git add NewFile git rm README.md
如今全部的更新都更新到暫存區了,能夠提交了!
這裏的commit只是保存到了本地。若是你只須要一個本地倉庫,那麼如今也就夠了。
git commit -m "my first commit"
注意:必定要帶-m加上說明
推送到遠程倉庫
由於你是直接從遠程倉庫拷貝的,因此你輸入
git remote
會發現已經有個orignal了
這個時候你直接git push就好了
git push
可是,建議仍是使用ssh的模式,安全點。下面說下ssh的模式怎麼用,首先你要建立一個私鑰,就是在本身電腦裏的鑰匙。
ssh-keygen -t rsa -C "your email addr"
第一個是問你改不改目錄,回車就好。而後輸入密碼,確認(這個密碼是生成這個密鑰的密碼,也能夠爲空,這樣你下次push就不用輸入密碼了)。
而後你就能夠去那個目錄下找id_rsa.pub文件,打開(隨便用什麼打開),把裏面的東西複製。
而後去網站上把本身私鑰輸入進去,頭像——settings
根據圖片點New SSH key
而後輸入一個隨便什麼title本身知道就好,和你剛纔複製的東西在key裏
這時候,就算在github上註冊了你的私鑰,而後在輸入
ssh -T git@github.com
看看是否是能ssh連上github
好了一切準備就緒。
咱們先把遠程倉庫加上:
選擇ssh,而後複製後面的地址。
(由於以前有一個original的,咱們這裏方便測試先刪了它)
git remote rm origin
輸入
git remote
發現沒東西了,能夠添加新的遠程倉庫了。
git remote add origin git@github.com:hk029/hello-world.git
而後輸入
git push -u origin master
master是你的分支,origin是你的遠程倉庫
第一次git push -u origin master後,就能夠用直接用git push指令了
好了這些基本操做就能夠知足一些平常使用了,後續再加一些關於分支還有撤銷 刪除的操做。