linux使用git
① Linux使用git檢出一個單獨的分支的方法
Linux下git可以檢出分支,但很多用戶並不知道git可以檢出一個單獨的分支,使用git檢出分支的方法不適用於單獨分支的檢出,那麼Linux git要如何檢出單獨一個分支呢?
有時候,只想從版本庫中clone出一個單獨的分支來(比如,網站發布的代碼),其他相關分支並不需要檢出。
這時直接使用 git clone出整個版本庫就顯得不合適了。
git clone 《url》 --branch 《branch》 --single-branch [《folder》]
但這和我的實際情況稍有不同,我的代碼之前是用svn管理的,在伺服器上已經使用svn方法發布了,使用這個命令就提示錯誤了:
git clone -b qinghaihu --single-branch 。
因為當前目錄上已經有對應文件了,若是發布到一個新目錄下則沒有這個問題。
另一個答案:
Clone a specific Git branch [plicate]
即:
cd $BRANCH
git init
git remote add -t $BRANCH -f origin $REMOTE_REPO
git checkout -f $BRANCH
注意最後一個checkout命令加了一個-f參數,這樣就可以強制覆蓋已有文件
上面就是git檢出一個單獨分支的方法介紹了,如果你實用git檢出整個版本庫會出現報錯提示,應使用正確的命令檢出單獨分支。
② 在Linux系統中安裝使用Gitblit的教程
Git是一款注重速度、數據完整性、分布式支持和非線性工作流的分布式版本控制工具。Git最初由Linus Torvalds在2005年為Linux內核開發而設計,如今已經成為被廣泛接受的版本控制系統。
和其他大多數分布式版本控制系統比起來,不像大多數客戶端-服務端的系統,每個Git工作目錄是一個完整的倉庫,帶有完整的歷史記錄和完整的版本跟蹤能力,不需要依賴網路或者中心伺服器。像Linux內核一樣,Git也是在GPLv2許可證下分發的自由軟體。
本篇教程我會演示如何安裝 gitlit 伺服器。gitlit的最新穩定版是1.6.2。Gitblit是一款開源、純java開發的用於管理、瀏覽和提供Git倉庫服務的軟體。它被設計成一款為希望託管中心倉庫的小型工作組服務的工具。
復制代碼代碼如下:mkdir -p /opt/gitblit; cd /opt/gitblit; wget http://dl.bintray.com/gitblit/releases/gitblit-1.6.2.tar.gz列出解壓後目錄內容:
復制代碼代碼如下:root@vps124229 [/opt/gitblit]# ls./ docs/ gitblit-stop.sh* LICENSE service-ubuntu.sh*
../ ext/ install-service-centos.sh* migrate-tickets.sh*
add-indexed-branch.sh* gitblit-1.6.2.tar.gz install-service-fedora.sh* NOTICE
authority.sh* gitblit.jar install-service-ubuntu.sh* reindex-tickets.sh*
data/ gitblit.sh* java-proxy-config.sh* service-centos.sh*
默認配置文件在data/gitblit.properties,你可以根據需要自己修改。
啟動gitlit服務:
通過service命令:
復制代碼代碼如下:root@vps124229 [/opt/gitblit]# cp service-centos.sh /etc/init.d/gitblitroot@vps124229 [/opt/gitblit]# chkconfig --add gitblit
root@vps124229 [/opt/gitblit]# service gitblit start
Starting gitblit server
.
手動啟動:
復制代碼代碼如下:root@vps124229 [/opt/gitblit]# java -jar gitblit.jar --baseFolder data2015-01-10 09:16:53 [INFO ] *****************************************************************
2015-01-10 09:16:53 [INFO ] _____ _ _ _ _ _ _
2015-01-10 09:16:53 [INFO ] | __ (_)| | | | | |(_)| |
2015-01-10 09:16:53 [INFO ] | | / _ | |_ | |__ | | _ | |_
2015-01-10 09:16:53 [INFO ] | | __ | || __|| '_ | || || __|
2015-01-10 09:16:53 [INFO ] | |_ | || |_ | |_) || || || |_
2015-01-10 09:16:53 [INFO ] \____/|_| \__||_.__/ |_||_| \__|
2015-01-10 09:16:53 [INFO ] Gitblit v1.6.2
2015-01-10 09:16:53 [INFO ]
2015-01-10 09:16:53 [INFO ] *****************************************************************
2015-01-10 09:16:53 [INFO ] Running on Linux (3.8.13-xxxx-grs-ipv6-64-vps)
2015-01-10 09:16:53 [INFO ] Logging initialized @842ms
2015-01-10 09:16:54 [INFO ] Using JCE Unlimited Strength Jurisdiction Policy files
2015-01-10 09:16:54 [INFO ] Setting up HTTPS transport on port 8443
2015-01-10 09:16:54 [INFO ] certificate alias = localhost
2015-01-10 09:16:54 [INFO ] keyStorePath = /opt/gitblit/data/serverKeyStore.jks
2015-01-10 09:16:54 [INFO ] trustStorePath = /opt/gitblit/data/serverTrustStore.jks
2015-01-10 09:16:54 [INFO ] crlPath = /opt/gitblit/data/certs/caRevocationList.crl
2015-01-10 09:16:54 [INFO ] Shutdown Monitor listening on port 8081
2015-01-10 09:16:54 [INFO ] jetty-9.2.3.v20140905
2015-01-10 09:16:55 [INFO ] NO JSP Support for /, did not find org.apache.jasper.servlet.JspServlet
2015-01-10 09:16:55 [INFO ]
2015-01-10 09:16:55 [INFO ] ----[com.gitblit.manager.IRuntimeManager]----
2015-01-10 09:16:55 [INFO ] Basefolder : /opt/gitblit/data
2015-01-10 09:16:55 [INFO ] Settings : /opt/gitblit/data/gitblit.properties
2015-01-10 09:16:55 [INFO ] JVM timezone: America/Montreal (EST -0500)
2015-01-10 09:16:55 [INFO ] App timezone: America/Montreal (EST -0500)
2015-01-10 09:16:55 [INFO ] JVM locale : en_US
2015-01-10 09:16:55 [INFO ] App locale :
2015-01-10 09:16:55 [INFO ] PF4J runtime mode is 'deployment'
2015-01-10 09:16:55 [INFO ] Enabled plugins: []
2015-01-10 09:16:55 [INFO ] Disabled plugins: []
2015-01-10 09:16:55 [INFO ]
2015-01-10 09:16:55 [INFO ] ----[com.gitblit.manager.INotificationManager]----
2015-01-10 09:16:55 [WARN ] Mail service disabled.
2015-01-10 09:16:55 [INFO ]
2015-01-10 09:16:55 [INFO ] ----[com.gitblit.manager.IUserManager]----
2015-01-10 09:16:55 [INFO ] ConfigUserService(/opt/gitblit/data/users.conf)
2015-01-10 09:16:55 [INFO ]
2015-01-10 09:16:55 [INFO ] ----[com.gitblit.manager.IAuthenticationManager]----
2015-01-10 09:16:55 [INFO ] External authentication disabled.
2015-01-10 09:16:55 [INFO ]
2015-01-10 09:16:55 [INFO ] ---- [com.gitblit.transport.ssh.IPublicKeyManager]----
2015-01-10 09:16:55 [INFO ] FileKeyManager (/opt/gitblit/data/ssh)
2015-01-10 09:16:55 [INFO ]
2015-01-10 09:16:55 [INFO ] ----[com.gitblit.manager.IRepositoryManager]----
2015-01-10 09:16:55 [INFO ] Repositories folder : /opt/gitblit/data/git
2015-01-10 09:16:55 [INFO ] Identifying repositories...
2015-01-10 09:16:55 [INFO ] 0 repositories identified with calculated folder sizes in 11 msecs
2015-01-10 09:16:55 [INFO ] Lucene will process indexed branches every 2 minutes.
2015-01-10 09:16:55 [INFO ] Garbage Collector (GC) is disabled.
2015-01-10 09:16:55 [INFO ] Mirror service is disabled.
2015-01-10 09:16:55 [INFO ] Alias UTF-9 & UTF-18 encodings as UTF-8 in JGit
2015-01-10 09:16:55 [INFO ] Preparing 14 day commit cache. please wait...
2015-01-10 09:16:55 [INFO ] 0 repositories identified with calculated folder sizes in 0 msecs
2015-01-10 09:16:55 [INFO ] built 14 day commit cache of 0 commits across 0 repositories in 2 msecs
2015-01-10 09:16:55 [INFO ]
2015-01-10 09:16:55 [INFO ] ----[com.gitblit.manager.IProjectManager]----
2015-01-10 09:16:55 [INFO ]
2015-01-10 09:16:55 [INFO ] ----[com.gitblit.manager.IFederationManager]----
2015-01-10 09:16:55 [INFO ]
2015-01-10 09:16:55 [INFO ] ----[com.gitblit.manager.IGitblit]----
2015-01-10 09:16:55 [INFO ] Starting services manager...
2015-01-10 09:16:55 [INFO ] Federation passphrase is blank! This server can not be PULLED from.
2015-01-10 09:16:55 [INFO ] Fanout PubSub service is disabled.
2015-01-10 09:16:55 [INFO ] Git Daemon is listening on 0.0.0.0:9418
2015-01-10 09:16:55 [INFO ] SSH Daemon (NIO2) is listening on 0.0.0.0:29418
2015-01-10 09:16:55 [WARN ] No ticket service configured.
2015-01-10 09:16:55 [INFO ]
2015-01-10 09:16:55 [INFO ] ----[com.gitblit.manager.IPluginManager]----
2015-01-10 09:16:55 [INFO ] No plugins
2015-01-10 09:16:55 [INFO ]
2015-01-10 09:16:55 [INFO ] All managers started.
打開瀏覽器,依據你的配置進入http://localhost:8080 或者 https://localhost:8443。 輸入默認的管理員授權:admin / admin 並點擊Login 按鈕
添加用戶:
添加倉庫:
用命令行創建新的倉庫:
復制代碼代碼如下:touch README.mdgit init
git add README.md
git commit -m "first commit"
git remote add origin ssh://[email protected]:29418/Programming.git
git push -u origin master
從命令行推送已有的倉庫:
復制代碼代碼如下:git remote add origin ssh://[email protected]:29418/Programming.gitgit push -u origin master
完成!