我們即將學習的內容將包括如下幾個部分(扮演不同角色):
1) basic repository command:每個操縱git的人都需要掌握
2) individual developer (standalone):獨立開發者需要掌握
3) individual developer (participant):合作開發者需要掌握
4) integrator:專案彙總人需要掌握
5) repository administration:倉庫管理員需要掌握
我們都會使用這些命令來完成最基本的工作:
git-init或git-clone來建立git倉庫
git-fsck來檢查倉庫的錯誤
git-gc用來完成一些瑣碎的工作,比如重組或刪減。
git-show-branch:可以顯示你當前所在的分支以及提交記錄。git-log:顯示提交日誌
git-checkout或者git-branch:用於切換和建立分支
git-add:用於將修改內容加入到index檔案中
git-diff和git-status:用於顯示開發者所做的修改
git-commit:用於提交當前修改到git倉庫。
git-reset和git-checkout:用於撤銷某些修改
git-merge:用於合併兩個分支
git-rebase:用於維護topic分支(此處我也不太懂,等完成git學習後轉過頭來會關注此問題)
git-tag:用於標記標籤。
bogon:aha lakeslove$ git show-branch![ahaback] 這是ahaback目錄下的檔案
*[master] 解決pull引起的衝突
![test] 新增輸入說明,並重新編譯
--- -[master] 解決pull引起的衝突
+*[ahaback] 這是ahaback目錄下的檔案
* [master^] 刪除程式開始
+* [master~2
] 在test2中編譯
+* [master~3
] 編譯
-- [master~4] merge branch '
test
'+*+ [test] 新增輸入說明,並重新編譯
git checkout — curses/ux_audio_oss.c //用於取消對curses/ux_audio_oss.c檔案的修改
git reset –soft head^ //head回覆到上一次commit的**。–soft選項表示不改動index file和working tree中的內容,
git reset head^ //head和index回覆到上一次commit的**。不改動working tree中的內容
git reset --hard head^ //working tree、index、head 都回覆到上一次commit到**
git-clone:複製別人的git倉庫到本地
git-pull和git-fetch:保持和別人的git倉庫的同步更新
git-push:共享方式。等同於cvs方式下的共享。
git-format-patch:利用郵件形式提交補丁。等同於核心開發方式。
我們總結的將是疑難知識點。我提煉出來的需要解決的疑難問題包括:
1 commit和commit -a的區別
2 log -p的中-p的作用
3merge的用法及引數用法
4fetch的用法
5pull的用法
6commit資訊詳解
7head的含義及相關用法,orig_head的用法以及其他常量的使用方法
8 tag的用法
log -p的中-p的作用
git log:顯示commit日誌
git log -p:不僅顯示commit日誌,而且同時顯示每次commit的**改變。
merge的用法及引數用法git-merge主要用於將兩個或兩個以上的開發分支進行合併。
git merge branchname 用於將branchname分支合併到當前分支中。(如果合併發生衝突,需要自己解決衝突)
當merge命令自身無法解決衝突的時候,它會將工作樹置於一種特殊的狀態,並且給使用者提供衝突資訊,以期使用者可
以自己解決這些問題。當然在這個時候,未發生衝突的**已經被git merge登記在了index file裡了。如果你這個時候使
用git diff,顯示出來的只是發生衝突的**資訊。
在你解決了衝突之前,發生衝突的檔案會一直在index file中被標記出來。這個時候,如果你使用git commit提交的話,
在發生衝突的時候,如果你使用git status命令,那麼會顯示出發生衝突的具體資訊。
在你解決了衝突之後,你可以使用如下步驟來提交:
第一步:git add filename.txt
第二步:git commit
如果你希望撤銷乙個分支到merge前的狀態,那麼使用如下命令:
$ git reset –hard head
//–hard表示將working tree和index file都撤銷到以前狀態
在這先偷偷的告訴你,–soft表示只撤銷commit,而保留working tree和index file的資訊,–mixed會撤銷commit和
index file,只保留working tree的資訊。ok,如果你能記住–hard、–mixed和–soft的區別,那最好,如果記不住,也不用
自責啦,以後還會講到。
fetch的用法命令格式為:git fetch …其中
表示遠端的倉庫路徑。
其中的標準格式應該為:,表示源的分支,如果不為空,則表示本地的分支;如果
為空,則使用當前分支。
bobworks分支中。
5pull的用法
git-pull的作用就是從乙個repository取出內容並合併到另乙個repository中。
git pull是git fetch和git merge命令的乙個組合。
git pull /home/bob/myrepo 這個命令的意思是從此目錄中取出內容並合併到當前分支中。
git pull .就相當於git merge。
GIT 基礎 基礎命令
環境 centos7 yum install git這裡裡有個隱藏的資料夾 git 為git倉庫的配置資料夾,不可隨意修改 cd www git git init ls a git這裡和我們平時使用的git客戶端中設定使用者名稱和郵箱一樣的作用 git config global user.name...
Git 基礎命令
一 建立 git init 初始化乙個git倉庫 git add 把檔案新增到倉庫 git commit 把檔案提交到倉庫 二 顯示 git status 檢視倉庫當前的狀態 git log 檢視提交日誌 git reflog 檢視每次命令的記錄 三 管理 git reset hard head 把...
Git基礎命令
git現在廣泛應用在開發 管理中,想當年svn也是幹過這事,當然現在也還有人用,畢竟還是有情懷的嘛。對於測試,現在用git的還少,相對於檔案管理,svn還是會方便很多。當然,用習慣了git也方便,但是我第一次開始用吧,覺得特麻煩,把基礎命令總結下,免得幾日不用忘記。1.建立專案 不管是gitlab ...