Git基礎知識與經常使用命令

一:相關概念:java

1:工做區(Working Directory): 就是你在電腦裏能看到的目錄git

2:版本庫(Repository): 工做區有一個隱藏目錄.git,這個不算工做區,而是Git的版本庫。
2.1): Git的版本庫裏存了不少東西,其中最重要的就是稱爲stage(或者叫index)的暫存區,還有Git爲咱們自動建立的第一個分支master,以及指向master的一個指針叫HEAD。2.2): git add命令實際上就是把要提交的全部修改放到暫存區(Stage),而後,執行git commit就能夠一次性把暫存區的全部修改提交到分支。學習


3:爲何Git比其餘版本控制系統設計得優秀,由於Git跟蹤並管理的是修改,而非文件。ui

4:Git的分支是不同凡響的,不管建立、切換和刪除分支,Git在1秒鐘以內就能完成!不管你的版本庫是1個文件仍是1萬個文件。this

5:配置Git的時候,加上--global是針對當前用戶起做用的,若是不加,那隻針對當前的倉庫起做用設計

 

二:Git經常使用命令學習版本控制

1:mkdir --在當前目錄建立文件夾
2:cd --目錄切換
3:pwd --命令用於顯示當前目錄
4:git init --經過git init命令把這個目錄變成Git能夠管理的倉庫
5:git add [file name] --add 將本地文件添加到創儲
6: ls -ah --列出當前目錄下的文件
7: git checkout --track origin/dev 切換到遠程dev分支
8: git merge origin/dev 將分支dev與當前分支進行合併
9: git checkout dev 切換到本地dev分支
10:git config --list 看全部用戶
11:git commit -v 當你用-v參數的時候能夠看commit的差別
12:git log 看你commit的日誌
13:git diff 查看還沒有暫存的更新
14:git status 命令可讓咱們時刻掌握倉庫當前的狀態
15:git diff 查看difference
16:git log --pertty=oneline 查看commit日誌,同時查看commit id
17:git reset --hard HEAD^ 回滾到上一個版本
18:cat [file name] 查看文件內容
19:git reset --hard 版本號 回滾到指定版本號
20:git reflog 用來記錄你的每一次命令,能夠經過該命令來找到對應的commit id
21:git checkout -- file 能夠丟棄工做區的修改
22:git reset HEAD file 能夠把暫存區的修改撤銷掉(unstage),從新放回工做區 (已經git add 或者git commit的文件回退到工做區)
23:git push -u origin dev 第一次將暫存修改提交到遠處分支
24:git push origin dev 推送最新修改
25:git checkout -b dev 咱們建立dev分支,而後切換到dev分支
26:git branch -d dev 刪除分支
27:git push origin :feature1 --刪除遠程分支後,推送
28:git branch --顯示分支
29:git log --graph --查看分支合併圖
30:git branch -D feature-vulcan 分支尚未被合併,若是刪除,將丟失掉修改,若是要強行刪除,則使用該命令
31:git remote 查看遠程庫的信息
32:git remote -v 顯示遠程庫更詳細的信息
33:git branch --set-upstream branch-name origin/branch-name 創建本地分支和遠程分支的關聯
34:git tag v1.0 --根據當前倉庫建立一個tag
35:git tag -d v0.1 --刪除一個tag
36:alias --經過alias命令設置別名
例如:$ git config --global alias.st status 如今git st 等價於git status指針

分支
查看分支:git branch
建立分支:git branch <name>
切換分支:git checkout <name>
建立+切換分支:git checkout -b <name>
合併某分支到當前分支:git merge <name>
刪除分支:git branch -d <name>日誌

日誌
git log
git log <file> # 查看該文件每次提交記錄
git log -p <file> # 查看每次詳細修改內容的diff
git log -p -2 # 查看最近兩次詳細修改內容的diff
git log --stat # 查看提交統計信息rem

 

三:學習中遇到的問題與解答

1:Git Bash窗口退出日誌詳情快捷鍵
Ctrl + C 退出窗口

2:git鎖定解決方法

2.1):今天 當我 執行 git add somefile 的時候,出現 以下 錯誤:

If no other git process is currently running, this probably means a
git process crashed in this repository earlier. Make sure no other git
process is running and remove the file manually to continue.
解決方法:rm -f ./.git/index.lock

2.2): 編譯ICS時 出現 以下錯誤:

build/core/java.mk:20: *** dalvik/dexgen: Invalid LOCAL_SDK_VERSION '4' Choices are: current . Stop.
解決方法:rm -rf prebuilt ; repo sync prebuilt

相關文章
相關標籤/搜索