1.怎麼添加遠程庫
2.克隆一個遠程庫
3.什麼是分支管理
4.什麼是標籤管理
3.搭建git服務器git
1.添加遠程庫。
我以github官網上提供給用戶註冊https://github.com/,能夠在官網了本身新建一個repository爲例,是免費,
固然後這個庫是public,若是要private化是要付費的。github
(1)進入github點擊建立New respository 取名爲「gitstudy」安全
(2)填寫New respository 的Name,以及可選的相關描述,勾選「Initialize this repository with a README」選項,初始庫的時創建一個README文件,
最後點擊Create respository服務器
(3)點擊帳戶設置,找「SSH and GPG keys」 下拉選項。點擊「New SSH keys」」 添加本地主機的id_rsa.pub,這公鑰用於github庫與
服務與本地主機進行通訊的,必選添加
a.在本地建立SSH keys」
ssh-keygen -t rsa -C "846200045@qq.com" 一路回車,將在家目錄下.ssh目錄生成id_rsa.pub和id_rsadom
[root@www ~]# ssh-keygen -t rsa -C "846200045@qq.com" Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: 9a:c5:10:1b:eb:f4:50:bb:10:31:6e:8f:9d:17:46:77 846200045@qq.com The key's randomart image is: +--[ RSA 2048]----+ | *.. . . E | | . O o . . | | X . o | | + X + . | | o S . | | + . | | o | | | | | +-----------------+ [root@www ~]# ls .ssh/ id_rsa id_rsa.pub [root@www ~]#
id_rsa是私鑰,不能泄露出去,id_rsa.pub是公鑰,能夠放心地告訴任何人。
b.第2步:登錄GitHub,打開「Account settings」,「SSH Keys」頁面:
而後,點「Add SSH Key」,填上任意Title,在Key文本框裏粘貼id_rsa.pub文件的內容.
c.最後,遠程github服務就和本地主機能夠進行通訊了,固然下面就能夠進行克隆一個遠程庫ssh
2.克隆一個遠程庫
準備在本地主機克隆一份遠程主機(默認遠程主機名是origin)庫
git clone git@github.com:autumn1023/gitstudyide
[root@www ~]# git clone git@github.com:autumn1023/gitstudy #其中autumn1023是在github的帳號,gitstudy是新建的repository Initialized empty Git repository in /root/gitstudy/.git/ The authenticity of host 'github.com (192.30.252.123)' can't be established. RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'github.com,192.30.252.123' (RSA) to the list of known hosts. remote: Counting objects: 3, done. remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 Receiving objects: 100% (3/3), done.
[root@www ~]# ls gitstudy README.md [root@www ~]# ls -ld gitstudy drwxr-xr-x. 3 root root 4096 6月 1 17:52 gitstudy
到此從遠程克隆一個庫完成。網站
3 什麼是分支管理
軟件項目開發過程,因爲是分階段來作的,在沒有開發完就提交給其餘人,致使其餘人其餘人沒法正常使用代理;
可是若是在項目開發完後一次性提交代碼,又存在丟失天天進度的風險。
分支解決了這個問題,開發人員能夠建立了一個屬於本身的分支,別人看不到,
還繼續在原來的分支上正常工做,而你在本身的分支上幹活,想提交就提交;
直到開發完畢後,再一次性合併到原來的分支上,這樣,既安全,又不影響別人工做。this
(1)master分支和其餘分支
在從遠程克隆庫的時候,默認帶有一個master分支,也稱爲主分支。顯示當前的全部分支及當前所在分支、建立其餘分支方法
顯示當前全部分支及當前所在分支,帶有*這分支表示是當前所在分支
git branch
[root@www gitstudy]# git branch
* masterspa
建立並切換到其餘分支方法一:
git checkout -b branchname
[root@www gitstudy]# git checkout -b dev Switched to a new branch 'dev' [root@www gitstudy]# git branch * dev master
[root@www gitstudy]#
建立並切換到其餘分支方法二:
git branch branchname
git checkout branchname
[root@www gitstudy]# git branch bug [root@www gitstudy]# git checkout bug Switched to branch 'bug' [root@www gitstudy]# git branch * bug dev master
[root@www gitstudy]#
(2) 解決分支之間的衝突
這分支的衝突是一個分支master在工做期間修改了文件;git add file;git commit -c 「」
另一個分支dev也在修改次文件;git add file;git committ -c
最後在在主分支上,準備和dev分支時,提示分支之間有衝突,沒法合併。致使這個緣由多是兩個分在修改文件的同一行,而且類似性很大,
結果不知道在合併的時候不知道以哪一個分支爲準。出現這狀況能夠先手動修改文件而後在提交。
3.標籤管理。
Git的標籤是版本庫的快照,但其實它就是指向某個commit的指針(跟分支很像對不對?可是分支能夠移動,標籤不能移動),因此,建立和刪除標籤都是瞬間完成的。
我在用在git commit -m 「」 之後都生成一個commit_id, 用git log命令能夠查看,commit_id是很長的字符串,記起來很麻煩。
這個時候標籤管理就頗有很大的做用。
(1)給當前分支打標籤
git branch #查看當前所在的分支
git tag tagname #給當前分支貼個標籤
git tag #查看當前的標籤
[root@www gitstudy]# git tag v1.0 [root@www gitstudy]# git tag v1.0
給歷史上忘記打標籤的分支貼標籤
先用命令git log 或者git log --pretty=oneline --abbrev-commit查看沒有打標籤的歷史版本的commit_id
git tag tagname commi_id
[root@www gitstudy]# git log --pretty=oneline --abbrev-commit 5a63081 add & 22626a5 Initial commit git tag v0.2 22626a5
(2)查看標籤信息:
[root@www gitstudy]# git show v0.2 commit 5a630814c69d212034ed0df61c70dc45cbe6faec Author: root <root@www.test.com> Date: Wed Jun 1 18:30:41 2016 +0800 add & diff --git a/README.md b/README.md index 88b8e37..b32ba89 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,2 @@ # gitstudy -the respository of gitstudy +the respository of & gitstudy
4.搭建git服務器
能夠參考網站:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000