標簽:GitHub
最近剛開始看GitHub的相關內容,畢竟GitHub可以說是全球最大的開源社區了,作為一名計算機專業的學生,怎么能不了解它呢?
接下來我就開始記錄一下目前已經了解到的關于GitHub方面的知識。
先從Git入手
目前我應該對GitHub了解還是很“膚淺”的,我現在所理解的GitHub如下:
GitHub是基于Git的,Git面向本地,它是針對本地開發項目的一個種版本控制系統,一個項目對應一個倉庫repository。而GitHub為Git增添了社交功能,你可以把你的倉庫push到網上,全世界的程序員都可以看到你的項目,并且可以對你的項目提出問題、復制、申請修改等,可以說是真正意義上實現了項目開源。
貌似廢話說的有點多了,我寫的不是“教程”,而是一些零碎的筆記。。
在本地創建一個倉庫的完整流程
新建一個文件夾,例如名字叫 test
,cd 到 test
目錄下 新建一個文件a.md
-
git init
命令 將test文件夾初始化為一個倉庫 -
git status
命令 查看當前git倉庫的狀態 -
git add
如果對a.md文件做了修改,則使用此指令將文件提交到緩沖區git add -A
提交所有的文件 -
git commit
使用此指令將緩沖區的文件提交到倉庫;一般情況下使用格式為git commit -m 'first commit'
其中-m 表示提交的信息,引號為信息內容。 -
git log
查看提交日志 -
git diff
查看工作樹(最新的代碼)與暫存區的差別 (在git add
之前),如果已經git add
了,則使用git diff HEAD
查看工作樹和最新提交的差別(在git commit
之前)。 - 分支branch
- 創建一個分支aa并切換到aa:
git checkout -b aa
也可以使用兩步完成git branch aa
git checkout aa
- 分支間的切換:
git checkout -
切換到上一分支。 - 合并分支merge
- 必須先切回到master分支上,然后
git merge aa
看書上說最好使用git merge --no-ff aa
加上--no-ff 參數是為了在歷史記錄中明確記錄下本次分支合并,我們需要創建合并提交。(但是我并沒有搞明白在編輯提交界面如何退出。。)
這就是在本地使用git創建一個倉庫和提交的流程。
怎么向GitHub提交代碼
情景一:我在GitHub上已經建好了倉庫甚至已經寫了一些代碼了,我想clone到本地,再開發。
首先進入我們本地的一個文件夾里,然后使用命令git clone git@github.com:xxx/test.git
這條命令將本地與GitHub上的倉庫關聯,并且將GitHub上test倉庫clone到本地了。接下來你可以隨意在test目錄中修改增添刪除文件,然后進行commit,之后就可以使用命令git push origin master
進行代碼提交。
情景二:我想把本地的倉庫提交到GitHub上
首先在自己的GitHub上新建一個test倉庫,然后在本地的test倉庫目錄下 使用命令 git remote add origin git@github.com:xxx/test.git
這條命令的意思就是給本地test倉庫指定一個遠程倉庫, 這個遠程倉庫的地址就是 git@github.com:xxx/test.git
接下來 用命令git push origin master
就可以向GitHub提交代碼了。
查看當前項目有哪些遠程倉庫可以使用命令:git remote -v
提交代碼前應設置自己的用戶名和郵箱,這些信息會顯示在所有的commit記錄里,執行下面的命令就可以了(以我自己的為例):
git config --global user.name "lemon"
git config --global user.email "xxxx@qq.com"
(他們說用QQ郵箱很low,為什么? 我并沒覺的。)
怎么向別人的倉庫貢獻代碼(pull Requests)
第一步:登錄自己的github賬號,找到一個自己感興趣的項目,點擊項目右上角的Fork,然后項目就出現在自己的Repository里。
第二步:將項目clone到本地,增添自己想修改的東西,commit后再push到自己的github上。
第三步:點開自己github中Fork過來的項目,再點擊pull Requests,在這個界面可以看到該項目與原有項目的不同之處,同樣寫好標題和描述后點擊確定就完成了我們對該項目的一個PR。