git本地库(操作具体命令)
在任何盤符下創建本地倉庫repository(除git目錄下)
在項目目錄創建新的本地倉庫,并把項目里的所有文件全部添加、提交到本地倉庫中去:
1.1 本地操作
1.1.1 git status 查看狀態
1.1.2 git add
使用命令 git add a.txt添加到暫存區里面
1.1.3 git commit
用命令 git commit告訴Git,把文件提交到倉庫
1.1.4 忽略文件
在工作區中創建一個隱藏文件.gitignore,將要被git忽略的文件名寫入到該文件,然后將.gitignore提交到版本庫即可。
1.1.5 查看區別
(1) 比較工作區與暫存區git diff
(2) 比較暫存區與本地庫git diff --cached
1.1.6 撤銷修改
(1) 僅在工作區中修改git checkout –
若一個文件內容僅僅在工作區中被修改,還未做add,則可通過該命令將修改內容撤銷。
(2) 已在暫存區修改git reset HEAD
若一個文件修改后內容已經被add到了暫存區,則可通過該命令將暫存區中的修改撤銷。
1.2 回退到之前版本
1.2.1 查看歷史版本git log
(1) 基本命令
(2) git log --pretty=oneline
以一行形式顯示提交及日志,但commit-id為長格式。
(3) git log --pretty=oneline --abbrev-commit
commit-id以短格式顯示。
下圖是以圖表風格出現:更加直觀的看出修改的日志記錄!
git log --pretty=oneline --abbrev-commit --graph
(4) 翻頁與退出
回車:一次顯示一行
空格:翻頁
q鍵:退出命令
1.2.2 HEAD指針
HEAD:指向當前版本。
HEAD^:指向當前版本的前一個版本。
HEAD^^:指向當前版本的第前兩個版本。
HEAD^^^:指向當前版本的第前三個版本。
……
HEAD^~20:指向當前版本的第前20個版本。
1.2.3 查看可引用歷史版本git reflog
1.2.4 版本回退
當提交到分支區后文件,是沒有辦法不被記錄修改的,但是也可以根據git log 查看 ID重新回到沒有修改的版本中,稱“回退版本”操作,但是就算回退到以前的版本 ,分支區也有一些記錄。
(1) git reset --soft(軟回退)
分支區內容回退,但暫存區與工作區內容沒有回退。
(2) git reset --mixed(混合回退)
分支區與暫存區內容回退,但工作區內容沒有回退。
–mixed為默認選項,即可以省略。
(3) git reset --hard(硬回退)
分支區、暫存區與工作區內容全部回退。
1.1 刪除文件
1.1.1 搭建環境
1.1.2 查看暫存區文件列表gitls-files
僅查看暫存區文件列表。
1.1.3 查看”暫與本”文件列表總和git ls-files–with-tree=HEAD
查看的是暫存區與分支區文件列表總和,而非僅僅是分支區文件列表。
1.1.4 僅刪除暫存區中指定文件gitrm --cached
1.1.5 恢復被刪文件git resetHEAD
1.1.6 完全刪除git rm
刪除了工作區與暫存區中的指定文件,但分支區中的文件沒有刪除。
1.1.7 恢復被刪文件
1.2 分支管理
1.2.1 Git分支理論
(1) Git主干
(2) Git分支
在Dev創建的分支,master分支不可以查收到文件,不同的分支,不同的修改,則看不到master下的文件;當然如果兩者只有一個分支,當創建另一個分支的時候,那么創建的另一個分支會根據之前建立的分支的信息為前提,它也能看到之前分支創建的信息。
(3) 分支合并
想要Dev和master合并,必須在master分支下合并,才能合并Dev和master,然后想要繼續接下來的工作,必須刪除Dev分支,因為合并后的Dev分支已經落后了。
如果在Dev分支下合并,只能合并debug分支和Dev分支。
(4) 合并后的刪除
1.2.2 分支基本操作
(1) 創建并切換分支git checkout -b
git chechout –bdev 相當于以下兩個命令的組合:
git branchdev // 創建dev分支
git checkoutdev // 切換到dev分支
(2) 查看系統分支git branch
(3) 切換分支git checkout
(4) 刪除分支git branch –d
git branch -d:一般情況下,刪除某一分支文件前,必須先要合并,然后再master分支下刪除
git branch -D:這是強制性刪除;
(5) 合并分支git merge
在Dev分支下創建的文件,在提交之前,master分支不可以查收到文件;
想要合并必須在master分支下,才能合并dev和master; 如果在deve分支下,合并智能合并debug和Dev分支;
1.2.3 分支合并與沖突
(1)產生沖突的合并
git的沖突單元是文件,即只要多個分支對同一文件進行修改,無論修改的是什么內容,在合并時肯定會發生沖突;
(2)無沖突的合并
只要修改的不是同一個文件,肯定不會發生沖突;
總結
以上是生活随笔為你收集整理的git本地库(操作具体命令)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: shiro中文api_Shiro
- 下一篇: K-Means算法