目錄git是個了不起但卻複雜的源**管理系統。它能支援複雜的任務,卻因此經常被認為太過複雜而不適用於簡單的日常工作。
建立乙個遠端的空**庫(在bitbucket上)
在本地**庫新增乙個專案
在分支上開發新功能
a) 保留新功能 或者 b) 丟棄它們
也許,回到某個早先的時間點
將本地**庫推送到遠端**庫
在另一台機器上取得遠端**庫
在大多數*nix系統(linux、os x)上,git已經被安裝了. 或者使用
yum instal git 以及 apt-get install
你可以使用 github 或者 bitbucket,coding ,gitee 等建立乙個**庫
替換為你自己的使用者名稱和郵箱需要引號
git config --global user.name "your_username"
git config --global user.email "[email protected]"
進入專案的根目錄執行以下命令,例如my_site資料夾
cd my_site
git init
git會在my_site資料夾內建立乙個名為.git的隱藏資料夾,那就是你的本地**庫。
我們現在需要命令git我們需要載入(stage)所有專案檔案。傳送:
git add .
最後的「.」符號的意思是「所有檔案、資料夾和子資料夾」。假如我們只想要把特定檔案新增到源**控制中去,我們可以指定它們:
git add "filename"
用「initial commit」來作為第乙個提交的注釋。
git commit -m "initial commit"
git status
建立分支是你建立**的獨立版本的動作,獨立於你的主幹分支。預設地,每次你提交到git的檔案都會被儲存到「master(主幹)」分支。
你想要向專案裡新增乙個功能,但你想要能夠回滾到現在版本,以防出現差錯,或者你決定要放棄這個功能。這就是你建立分支的時候了
建立並同時切換到你新建的分支。
git checkout -b new_feature
或者,你可以先建立乙個分支然後手動切換,就像這樣:
git branch new_featuregit checkout new_feature
要看你現在專案下所有的分支。
git branch
你同時可以有多個分支,甚至可以從乙個分支上再建立乙個分支
當你對你的新功能滿意了的時候,你想要把它加到主幹分支上。當你在你的新功能分支上時,你首先需要載入(stage)並且提交你的檔案:
git add .git commit -m "adds my new feature"
# 然後你移到你的主幹分支:
git checkout master
# 像這樣合併:
git merge new_feature
如果你打算丟棄你在分支裡做的修改,你首先需要載入(stage)你的檔案並且在分支裡提交:
git add .git commit -m "feature to be discarded"
# 然後,你移到主幹分支:
git checkout master
現在,你的**處於你建立分支之前的狀態了。
如果你要把你的分支合併到主幹分支,從主幹(master)分支上執行:
git branch -d new_feature
假如修改已經合併了,它只會刪除分支。假如分支沒有合併,你會得到乙個錯誤資訊。刪除乙個未合併的分支(通常你不想保留的修改),你需要傳送一樣的命令附帶乙個大寫d。意思是「強制刪除分支,無論如何我不想要它了。」
git branch -d new_feature
在某些時候,你可能想要回到之前的**版本。首先,你需要找到你想回到哪個版本。要看所有的完成了的提交。
git log
輸出你的提交的歷史記錄,像這樣:
commit ca82a6dff817ec66f44342007202690a93763949author: your_username [email protected]: mon nov 4 12:52:11 2013 -0700 changes the frontpage layout
如果你想回到「adds my new feature」這個提交,簡單地用提交的id做簽出(checkout)(我通常只用到id開頭的9個字元)
git checkout 085bb3bcb
你也可以簽出到乙個新的分支,像這樣:
git checkout -b my_previous_version 085bb3bcb
只是別太瘋狂了!你的分支越複雜,就越難確定你真正在做什麼。
在第一次你想推送乙個本地**庫到遠端**庫時,你需要把它新增到你的專案配置裡。像這樣做:
git remote add origin "url"
git push origin master
在你的**庫想要拷貝到的資料夾下執行
# 從遠端**庫上取得它最新的版本
git pull origin mastergit允許你為你常用的命令建立快捷方式(別名)。例如,如果你不想每次都輸入git commit -m 「some comment」,而是輸入git c 「some comment」,你可以向你的git全域性配置裡新增乙個別名來實現,像這樣:
git config --global alias.c 'commit -m'
別名列表:
git config --global alias.c 'commit -m'
git config --global alias.co 'checkout'
git config --global alias.cob 'checkout -b'
git config --global alias.br 'branch'
git config --global alias.m 'merge'
git config --global alias.a 'add .'
git config --global alias.s 'status'
git config --global alias.dbr 'branch -d'
Git 快速入門
一種分布式版本控制系統。版本庫是集中存放在 伺服器的,而幹活的時候,用的都是自己的電腦,所以要先從 伺服器取得最新的版本,然後開始幹活,幹完活了,再把自己的活推送給 伺服器。伺服器就好比是乙個圖書館,你要改一本書,必須先從圖書館借出來,然後回到家自己改,改完了,再放回圖書館。集中式版本控制系統最大的...
git快速入門
我們的 倉庫是用gitlab來管理的,要檢視自己能訪問哪些倉庫,以及倉庫的位址,請先熟悉一下gitlab系統的使用 gitlab入門 以下教程假設你已經知道如何在系統開啟終端視窗,並知道如何輸入shell命令。現在開啟終端,然後繼續。在提交 之前必須設定自己的使用者名稱和email git conf...
git快速入門
看到這裡,相信你已經能夠回滾遠端分支的版本了,那麼你也許會問了,回滾公共遠端分支和回滾自己的遠端分支有區別嗎?答案是,當然有區別啦。乙個顯而易見的問題 如果你回退公共遠端分支,把別人的提交給丟掉了怎麼辦?下面來分析 假如你的遠端master分支情況是這樣的 a1 a2 b1 其中a b分別代表兩個人...