之前做代碼版本控制都是在bitbucket上面的私有倉(cāng)庫(kù)?,F(xiàn)在開(kāi)源社區(qū)挺火的,想在github找些開(kāi)源的工程學(xué)習(xí)一下,于是加入了github,這里記錄一下入門(mén)的經(jīng)歷。
首先創(chuàng)建賬戶(hù)的過(guò)程在這里就省略一萬(wàn)字了…
創(chuàng)建完賬戶(hù),你就可以開(kāi)始建立自己的第一個(gè)倉(cāng)庫(kù)了。你會(huì)在你奇奇怪怪的默認(rèn)頭像旁邊看見(jiàn)一個(gè)很大的“+”號(hào),點(diǎn)下去,可以看到2個(gè)選項(xiàng),第一個(gè)就是新建個(gè)代碼倉(cāng)庫(kù)。
填好倉(cāng)庫(kù)名,然后點(diǎn)上創(chuàng)建一個(gè)README,最好也填點(diǎn)說(shuō)明。
然后你就能看到下面的界面了,現(xiàn)在里面只有一個(gè)ReadMe,注意紅框的位置,這就是你的倉(cāng)庫(kù)地址,如果要克隆倉(cāng)庫(kù),就是這個(gè)地址。
接下來(lái)就可以添加你的工程文件了,你可以用網(wǎng)站上的功能按鈕新建文件或者上傳文件,但是推薦還是在本地用命令行操作。
那本地怎么操作呢?有2個(gè)方案:
1. 直接下載github的桌面程序,是可視化的,很容易上手,建議新手使用。https://desktop.github.com/
2. 使用命令行,這里推薦使用命令行,一來(lái)效率高,二來(lái)以后你到不同的平臺(tái)上,能很快的上手,再者如果你以后用的服務(wù)器沒(méi)有圖形界面,只能用命令行。所以還是熟悉的好。
首先你需要安裝git
紅帽系列
$ sudo yum install git
Ubuntu系,請(qǐng)嘗試用 apt-get:
$ sudo apt-get install git
在 Mac 上安裝 Git 有多種方式。 最簡(jiǎn)單的方法是安裝 Xcode Command Line Tools。 Mavericks (10.9) 或更高版本的系統(tǒng)中,在 Terminal 里嘗試首次運(yùn)行 git 命令即可。 如果沒(méi)有安裝過(guò)命令行開(kāi)發(fā)者工具,將會(huì)提示你安裝。
如果你想安裝更新的版本,可以使用二進(jìn)制安裝程序。 官方維護(hù)的 OSX Git 安裝程序可以在 Git 官方網(wǎng)站下載,網(wǎng)址為 http://git-scm.com/download/mac。
windows用戶(hù)用2個(gè)選擇:
1. 如果命令已經(jīng)熟悉的建議用msysGit可以去官網(wǎng)下載:
https://git-for-windows.github.io/
2. 如果安裝了github桌面版,自動(dòng)會(huì)有個(gè)git shell (我用的這個(gè),比較好看)
https://desktop.github.com/
安裝就一路下一步就好了。由于我是windows環(huán)境,這里重點(diǎn)就講windows上git的使用,不過(guò)命令都是通用的。
安裝完msysgit后,會(huì)有Git Bash的圖標(biāo),安裝完github桌面版會(huì)有個(gè)git shell
我建議用git shell,比較友好(但是命令都是通用的)。Git shell里面,windows和linux的命令都可以用!是不是很贊。
打開(kāi)后是一個(gè)控制臺(tái),然后就可以輸入命令了
一開(kāi)始什么都不會(huì)的時(shí)候,可以使用
git help
查看可用命令。下面先記錄一些剛開(kāi)始可能會(huì)用到的命令,剩下的命令以后再記錄。
可以用
git init
初始化一個(gè)倉(cāng)庫(kù),但是一般常用的都是克隆現(xiàn)有的倉(cāng)庫(kù),這里還是用剛才創(chuàng)建的helloworld倉(cāng)庫(kù)
git clone https://github.com/hk029/hello-world.git
url后面可以用一個(gè)新的路徑名,讓它保存到特定的目錄下,默認(rèn)就是當(dāng)前路徑下創(chuàng)建一個(gè)和倉(cāng)庫(kù)名一樣的目錄。
注意:這個(gè)命令是克隆了一個(gè)倉(cāng)庫(kù)而不是簡(jiǎn)單的拷貝了文件下來(lái),還保存了有關(guān)倉(cāng)庫(kù)的信息,基本就是克隆出了一個(gè)小的本地倉(cāng)庫(kù)。
然后可以cd進(jìn)去看看
這里有個(gè)比較有意思的地方,你會(huì)發(fā)現(xiàn)目錄名后一個(gè)’[master]’這個(gè)表示目前這是一個(gè)master分支。當(dāng)前目錄有個(gè).git目錄,它會(huì)記錄倉(cāng)庫(kù)的信息,所以你能看到‘[master]’這個(gè)標(biāo)簽。之后你對(duì)當(dāng)前目錄的文件做的操作,都會(huì)被記錄。
檢查目前倉(cāng)庫(kù)的狀態(tài)是挺重要的一個(gè)環(huán)節(jié),以免你提交代碼的時(shí)候提交的不是最新代碼。
一般來(lái)說(shuō),你目前目錄下的文件就兩種狀態(tài)
我們可以先輸入命令看看當(dāng)前倉(cāng)庫(kù)的狀態(tài)
git status
可以發(fā)現(xiàn)目前目錄下很干凈,一切都和當(dāng)初克隆下來(lái)一樣,所以狀態(tài)顯示也是很干凈。
我們新鍵一個(gè)文件,或者從別的地方移動(dòng)一個(gè)文件到當(dāng)前目錄下,看看有什么變化。
我們可以看見(jiàn),‘[master]’之后多了幾個(gè)東西。
+1 表示目前有1個(gè)新文件
~0 表示0個(gè)修改的文件
-0 表示0個(gè)刪除的文件
! 表示未保存
我們?cè)佥斎雜tatus命令看看
發(fā)現(xiàn)目前有個(gè)未跟蹤的文件了。
我們把它暫存到暫存區(qū)
git add NewFile
這個(gè)命令會(huì)把這個(gè)文件放到暫存區(qū)(還是在本地)到時(shí)候提交的時(shí)候就會(huì)把暫存區(qū)的東西提交到網(wǎng)上。
這個(gè)時(shí)候,我們發(fā)現(xiàn)紅色的字變成了綠色,感嘆號(hào)也沒(méi)有了,說(shuō)明目前修改都已經(jīng)保存了。
再輸入satus命令看看
這個(gè)時(shí)候已經(jīng)是跟蹤狀態(tài)了。
如果我們這時(shí)候修改NewFile會(huì)發(fā)生什么呢?
可以發(fā)現(xiàn),又變紅了,這時(shí)候出先了~1,說(shuō)明有一個(gè)修改文件。使用status命令看看
果然,出現(xiàn)了一個(gè)NewFile在未跟蹤里面。這不是很奇怪嗎,一個(gè)文件既是跟蹤又是未跟蹤?其實(shí)這很好理解,你可以理解為暫存區(qū)還有一個(gè)NewFile拷貝,就是原來(lái)那個(gè)我們add的“空”的NewFile。修改的這個(gè)不在暫存區(qū),如果這時(shí)候我們把所有修改提交,那么提交的是“空”的NewFile。
所以當(dāng)我們提交前,一定要看是不是還有紅字?是不是還有什么修改沒(méi)有更新到暫存區(qū)!
最后,還說(shuō)下,其實(shí)git status有個(gè)簡(jiǎn)化輸出的形式。
git status -s
這里我為了讓所有狀態(tài)都出現(xiàn),刪除了README.md,可以發(fā)現(xiàn)這個(gè)簡(jiǎn)化版輸出其實(shí)更直觀。
我們把所有的修改更新到暫存區(qū)吧:
git add NewFilegit rm README.md
現(xiàn)在所有的更新都更新到暫存區(qū)了,可以提交了!
這里的commit只是保存到了本地。如果你只需要一個(gè)本地倉(cāng)庫(kù),那么現(xiàn)在也就夠了。
git commit -m "my first commit"
注意:一定要帶-m加上說(shuō)明
推送到遠(yuǎn)程倉(cāng)庫(kù)
因?yàn)槟闶侵苯訌倪h(yuǎn)程倉(cāng)庫(kù)拷貝的,所以你輸入
git remote
會(huì)發(fā)現(xiàn)已經(jīng)有個(gè)orignal了
這個(gè)時(shí)候你直接git push就行了
git push
但是,建議還是使用ssh的模式,安全點(diǎn)。下面說(shuō)下ssh的模式怎么用,首先你要?jiǎng)?chuàng)建一個(gè)私鑰,就是在自己電腦里的鑰匙。
ssh-keygen -t rsa -C "your email addr"
然后你就可以去那個(gè)目錄下找id_rsa.pub文件,打開(kāi)(隨便用什么打開(kāi)),把里面的東西復(fù)制。
然后去網(wǎng)站上把自己私鑰輸入進(jìn)去,頭像——settings
根據(jù)圖片點(diǎn)New SSH key
然后輸入一個(gè)隨便什么title自己知道就好,和你剛才復(fù)制的東西在key里
這時(shí)候,就算在github上注冊(cè)了你的私鑰,然后在輸入
ssh -T git@github.com
看看是不是能ssh連上github
好了一切準(zhǔn)備就緒。
我們先把遠(yuǎn)程倉(cāng)庫(kù)加上:
選擇ssh,然后復(fù)制后面的地址。
(因?yàn)橹坝幸粋€(gè)original的,我們這里方便測(cè)試先刪了它)
git remote rm origin
輸入
git remote
發(fā)現(xiàn)沒(méi)東西了,可以添加新的遠(yuǎn)程倉(cāng)庫(kù)了。
git remote add origin git@github.com:hk029/hello-world.git
然后輸入
git push -u origin master
master是你的分支,origin是你的遠(yuǎn)程倉(cāng)庫(kù)
第一次git push -u origin master后,就可以用直接用git push指令了
好了這些基本操作就可以滿(mǎn)足一些日常使用了,后續(xù)再加一些關(guān)于分支還有撤銷(xiāo) 刪除的操作。
聯(lián)系客服