https://www.cnblogs.com/yydcdut/p/3898223.html
了解git和svn很久了,但是一直沒有拿來做過版本控制管理,雖然svn有用到過,但是覺得還是運用git的比較多吧,尤其github。
Git術語
術語 | 定義 |
---|---|
倉庫 | 一個倉庫包括了所有的版本資訊、所有的分支和标記資訊. |
Repository | 在Git中倉庫的每份拷貝都是完整的。倉庫讓你可以從中 |
取得你的工作副本。 | |
一個分支意味着一個獨立的、擁有自己曆史資訊的代碼線 | |
分支 | (code line)。你可以從已有的代碼中生成一個新的分支 |
Branches | ,這個分支與剩餘的分支完全獨立。預設的分支往往是叫 |
master。使用者可以選擇一個分支,選擇一個分支叫做 | |
checkout. | |
标記 | 一個标記指的是某個分支某個特定時間點的狀态。通過标 |
Tags | 記,可以很友善的切換到标記時的狀态,例如2014年8月25 |
号在testing分支上的代碼狀态 | |
送出 | 送出代碼後,倉庫會建立一個新的版本。這個版本可以在 |
Commit | 後續被重新獲得。每次送出都包括作者和送出者,作者和 |
送出者可以是不同的人 | |
URL | URl用來辨別一個倉庫的位置 |
用來表示代碼的一個版本狀态。Git通過用SHA1 hash算法 | |
修訂 | 表示的id來辨別不同的版本。每一個 SHA1 id都是160位長 |
Revision | ,16進制辨別的字元串.最新的版本可以通過HEAD來擷取. |
之前的版本可以通過"HEAD~1"來擷取,以此類推。 |
索引
Git 需要将代碼的變化顯示的與下一次送出進行關聯。舉個例子,如果你對一個檔案繼續了修改,然後想将這些修改送出到下一次送出中,你必須将這個檔案送出到索引中,通過git add file指令。這樣索引可以儲存所有變化的快照。
新增的檔案總是要顯示的添加到索引中來。對于那些之前已經送出過的檔案,可以在commit指令中使用-a 選項達到送出到索引的目的。
Git安裝
在Ubuntu上,可以通過apt來安裝git指令行工具
sudo apt-get install git-core
Git配置
你可以在.gitconfig檔案中防止git的全局配置。檔案位于使用者的home目錄。上述已經提到每次送出都會儲存作者和送出者的資訊,這些資訊都可以儲存在全局配置中。後續将會介紹配置使用者資訊、高亮顯示和忽略特定的檔案。
- 使用者資訊
通過如下指令來配置使用者名和Email
git config --global user.name "Example Surname"
git config --global user.email "[email protected]" # Set default so that all changes are always pushed to the repository git config --global push.default "matching"
擷取Git配置資訊,執行以下指令:
git config --list
- 高亮顯示
git config --global color.status auto
git config --global color.branch auto
- 忽略特定的檔案
可以配置Git忽略特定的檔案或者是檔案夾。這些配置都放在.gitignore檔案中。這個檔案可以存在于不同的檔案夾中,可以包含不同的檔案比對模式。為了讓Git忽略bin檔案夾,在主目錄下放置.gitignore檔案,其中内容為bin。
同時Git也提供了全局的配置,core.excludesfile。
- 使用.gitkeep來追蹤空的檔案夾
Git會忽略空的檔案夾。如果你想版本控制包括空檔案夾,根據慣例會在空檔案夾下放置.gitkeep檔案。其實對檔案名沒有特定的要求。一旦一個空檔案夾下有檔案後,這個檔案夾就會在版本控制範圍内。
github操作
- 獲得密鑰
ssh-keygen -t rsa -C "[email protected]"
- 登陸github系統
點選右上角的 Account Settings--->SSH Public keys ---> add another public keys
把你本地生成的密鑰(~/.ssh/id_rsa.pub檔案中)複制到裡面(key文本框中), 點選 add key 就ok了
- 接着打開git ,測試連接配接是否成功
ssh -T [email protected]
- github上建立立一個項目
- 克隆github上新建立的項目
git clone [email protected]:xxxx/xxxxx-demo.git
//git clone [email protected]:使用者名/項目名字.git
- 送出修改
git add .
git commit –m ”new files”
git push
#或者
git remote add origin [email protected]:xxxx/xxxx-demo.git
- 更新版本
git fetch origin
//取得遠端更新,這裡可以看做是準備要取了
git merge origin/master
//把更新的内容合并到本地分支/master
- 簡單常用指令
git remote -v
//檢視你目前項目遠端連接配接的是哪個倉庫位址。
git status
//檢視目前項目下所有文的狀态,
- 遠端項目與本地項目聯系起來
git remote add origin [email protected]:xxxx/xxxx-demo.git