Git和GitHub
Git和GitHub
版本控制(Version control)系統是能讓你了解到一個文件的歷史,以及它的發展過程的系統。
Git
Git 是一種專為處理文本文件而設計的版本控制系統。 Git 是一個軟件,它允許你對將提交的一個系統(或一組)文件的做歷史注釋。這些提交是在給定時間點對系統做出的差異“快照”。
Github
Github 就是讓你把工作(通過Git提交進行注解)存儲在了一個指定的在線文件夾(repo)。
Github 能獲取 Git 中的提交歷史,并將其存儲在互聯網上,從而能使你可以從任意一臺能聯網的電腦端訪問它。
你在本機(例如:你當前正在使用的電腦)推送(pushing)提交到 Github,然后從另一臺新的或不同的電腦上拉取(pulling)這些提交。
GitHub 項目之右上角三按鈕作用
- Watch
翻譯“觀察”。對于別人的項目,默認自己都處于 Not watching 的狀態,當你選擇 Watching,表示你以后會關注這個項目的所有動態,這個項目以后只要發生變動,如被別人提交了 pull request、被別人發起了issue等等情況,你都會在自己的個人通知中心,收到一條通知消息,如果你設置了個人郵箱,那么你的郵箱也可能收到相應的郵件。 Star
翻譯“星”(沒有具體意義)。理解為“關注”或“點贊”更合適,表示你喜歡這個項目。GitHub 里有一個列表(GitHub 個人頭像,點擊看到 Your stars),是收集所有你 Star 過的項目,然后就能快速找到你以前 Star 過的項目了。
類似微信公眾號里的收藏功能一樣。Chrome 有一個插件就是做這個功能的。
Fork
Fork 相當于你自己有了一份原項目的拷貝,當然這個拷貝只是針對當時的項目文件,如果后續原項目文件發生改變,你必須通過其他的方式去同步。
一般來說,我們不需要使用 fork 這個功能,除非有一些項目,可能存在 bug 或者可以繼續優化的地方,你想幫助原項目作者去完善這個項目或者單純的想在原來項目基礎上己維護一個屬于自己項目,那么你可以 fork 一份項目下來,然后自己對這個項目進行修改完善,當你覺得項目沒問題了,你就可以嘗試發起 pull request 給原項目作者了。然后就靜靜等待他的 merge 郵件通知了。
使用建議:
對于一些可能會經常發生變化的會不定期更新的好項目 多使用 watch;
喜歡一個項目就 star;
修改開源項目就使用 fork,這樣你就可以在原項目的基礎上,對項目進行修改提交,現在你是這個項目的主人啦;
參考 如何用好 github 中的 watch、star、fork
github 管理 github 項目的兩種方法:Http、SSH
- Http url
操作簡單(復制 https url 到 git Bash 里,直接 clone 到本地就好了);
可以隨意克隆 github 上的項目,而不管是誰的;
https url 在push的時候是需要驗證用戶名和密碼; - SSH url
必須是這個項目的擁有者,且需要先配置 SSH key
SSH 在push的時候,是不需要輸入用戶名的,如果配置SSH key的時候設置了密碼,則需要輸入密碼的,否則直接是不需要輸入密碼的;
設置添加SSH
// 運行 git Bash 客戶端
$ cd ~/.ssh
$ ls
Eclipse 中使用 Git 維護項目
安裝Git
檢查 Eclipse 中是否已安裝 Git 插件
若沒有安裝,找資源安裝
若是沒有Git插件,可以在 Eclipse 的 Market 里面搜索 Egit 插件安裝。
或者
打開 Egit 插件列表 找對應地址安裝。安裝后關聯 Gihub賬號(即配置用戶名/密碼,當然也可以在提交 GitHub 項目時的彈框中輸入,也是比較省事的)
將項目上傳到 GitHub 上維護
- 新建項目
- 改為 Git 倉庫
項目 -> 右鍵 -> Team -> Share Project -> 選Git -> Next,勾選 Use or create repository in parent folder ofproject,選中要發布的項目,點擊 Create Repository -> 點擊 Finish 。 - 發布項目
項目 -> 右鍵 -> Team -> Commit -> 將要提交的文件從 Unstaged Changes 區域拖進 Staged Changes 區域,輸入 Commit Message -> Commit and Push 或 Commit(然后再 Team -> Remote -> Push)。
涉及術語
- Version Control(版本控制): 一個能夠讓你了解文件的歷史以及該文件的發展進程的系統。
- Git:一個版本控制程序,通過對變更進行注釋,以創建一個易于遍歷的系統歷史。
- Commit(提交):在指定時間點對系統差異進行的注釋 “快照”。
- Local(本地):指任意時刻工作時正在使用的電腦。
- Remote(遠程): 指某個聯網的位置。
- Repository (倉庫,簡稱 repo):配置了Git超級權限的特定文件夾,包含了你的項目或系統相關的所有文件。
- Github:獲取本地提交歷史記錄,并進行遠程存儲,以便你可以從任何計算機訪問- 這些記錄。
- Pushing(推送):取得本地Git提交(以及相關的所有工作),然后將其上傳到在線Github。
- Pulling(拉取):從在線的Github上獲取最新的提交記錄,然后合并到本地電腦上。
- Master (branch):主分支,提交歷史 “樹”的 “樹干”,包含所有已審核的內容/代碼。
- Feature branch(功能分支/特性分支):一個基于主分支的獨立的位置,在再次并入到主分支之前,你可以在這里安全地寫工作中的新任務。
- Pull Request(發布請求):一個 Github 工具,允許用戶輕松地查看某功能分支的更改 (the difference或 “diff”),同時允許用戶在該分支合并到主分支之前對其進行討論和調整。
- Merging(合并):該操作指獲取功能分支的提交,加入到主分支提交歷史的頂部。
- Checking out(切換):該操作指從一個分支切換到另一個分支。
智能推薦
mac git和github
基本手冊 https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013743858312764dca7ad6d0754f76aa562e3789478044000 https://git-scm.com/blog http://www.cnblogs.com/forget...
Github 和 Git
1. Github中創建倉庫 2. 配置 SSH Key 簡單方法就是用 Gui 的形式來創建,在help中選擇Show SSH key,點擊Generate Key(期間啥都不用填,只需要下一步)來生成key。 把生成的key填寫到Github中,在Settings的SSH and GPG keys那里填,title隨便寫,主要是用來注明的。 3. 創建本地倉庫 使用Git命令 git init...
git和github鏈接
git和github鏈接 檢查git安裝是否成功 檢查是否有ssh key 原來創建過。。。試著直接去github添加。。。 github添加ssh key settings–>ssh keys 打開生成的id_rsa.pub文件(cat id_rsa.pub),復制內容至key ? 完成! 驗證 配置個人信息 創建代碼庫 在github中新建一個倉庫 將倉庫克隆到本地 嘗試在該...
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
猜你喜歡
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...
requests實現全自動PPT模板
http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...
Linux C系統編程-線程互斥鎖(四)
互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...
統計學習方法 - 樸素貝葉斯
引入問題:一機器在良好狀態生產合格產品幾率是 90%,在故障狀態生產合格產品幾率是 30%,機器良好的概率是 75%。若一日第一件產品是合格品,那么此日機器良好的概率是多少。 貝葉斯模型 生成模型與判別模型 判別模型,即要判斷這個東西到底是哪一類,也就是要求y,那就用給定的x去預測。 生成模型,是要生成一個模型,那就是誰根據什么生成了模型,誰就是類別y,根據的內容就是x 以上述例子,判斷一個生產出...