感謝這位朋友提供的資料.正好學習到.
**:關於git,之前也查閱了不少資料,迷迷糊糊的使用著一些命令。今天又時間把它整理一下,一方面強化自身的印象,另一方面,如果能對其他人有所幫助又能恰巧被看到的話,也算是一件快樂的事情。
1.建立版本庫
方法一:mkdir mydir; cd mydir; git init(這種方式很少使用,後續討論建立在方式二基礎上)
方法二:git clone $path/.git ($path指源版本庫的路徑)
注意,clone的是源版本庫處於的當前分支狀態。
2.取得分支
git branch -r (檢視源版本庫的分支資訊,分支名都以origin/開頭)
origin/head -> origin/yjf
origin/master
origin/yjf
git checkout -t origin/master -b master 這樣就新建了乙個本地分支master來跟蹤遠端分支origin/master 。
如果在該分支上修改上傳(push),會直接上傳到源版本庫的origin/master 上。
3.建立分支
git branch mybranch;git checkout mybranch建立並且換到新建立的分支上。
或者git checkout -b mybranch即可完成同樣的功能。
注意前面clone出來的預設分支以及2中介紹的方法建立的分支都是遠端源版本庫中的索引。 而3中建立的分支因為沒有明確指定跟蹤的遠端版本庫分支,無法直接push到遠端分支,只可以本地commit。
怎麼解決這個問題呢,分支合併。
4. 分支合併
git checkout master; git merge mybranch; //如此把開發分支上的東西合併到master分支上。但如果merge報錯呢?
手動編輯出錯的檔案,並git add,git commit
5. 發布修改
所謂發布,就是指把**提交給源版本庫,而不是本地(本地叫交付,commit)
git pull; 有merge的功能,如出錯,做類似4中處理。
git push;
其它:git add 與svn add內容不一樣,svn add僅為增加檔案時使用,而git add 為檔案內容變化時使用。
git-reset --soft head 逆轉上次提交的版本進度
git-reset --hard 7182ae4912487692d4f91ded1e74d99e0fc12e49 強行逆轉到索引指定的版本,--hard選項要慎重使用, 有事可能破壞正常檔案。
git-revert 也可撤銷上次對版本庫的提交,但這本身也會產生乙個commit,用得多了會使log看起來不那麼乾淨。
Git 基礎知識
2019 february 16 git簡寫 狀態說明 備註?untracked 未跟蹤此檔案在資料夾中,但並沒有加入到git庫,不參與版本控制,通過git add 狀態變為staged mmunmodified 已入庫未修改 如果它被修改,而變為modified,如果使用git rm移出版本庫,則...
git基礎知識
git歷史 略 git與svn對比 集中式版本控制工具缺點 git是分布式版本控制系統,分為兩種型別的倉庫 本地倉庫和遠端倉庫 git工作流程 工作流程如下 從遠端倉庫中轉殖 到本地倉庫 從本地倉庫中checkout 然後進行 修改 在提交前先將 提交到暫存區 提交到本地倉庫。本地倉庫中儲存修改的各...
Git基礎知識
git版本控制下的工程區域的概念 版本庫 repository 在工作區中有乙個隱藏的目錄.git,這個資料夾就是git的版本庫,裡面存放了git用來管理該工程的所有版本資料,也叫本地倉庫。工作區 working directory 日常工作的 檔案或者文件所在的資料夾。暫存區 stage 一般存放...