Git 基本操做

git init

  Git 使用 git init 命令來初始化一個 Git 倉庫,Git 的不少命令都須要在 Git 的倉庫中運行,因此 git init 是使用 Git 的第一個命令。
  在執行完成 git init 命令後,Git 倉庫會生成一個 .git 目錄,該目錄包含了資源的全部元數據,其餘的項目目錄保持不變。git

  • 使用當前目錄做爲 Git 倉庫:git init,該命令執行完後會在當前目錄生成一個 .git 目錄
  • 使用指定的目錄做爲 Git 倉庫:git init newrepo,初始化後,會在 newrepo 目錄下出現一個名爲 .git 的目錄。
$ mkdir test
$ cd test/
$ git init
Initialized empty Git repository in D:/Workspace/Git/test/.git/

git clone

  使用 git clone 從現有的 Git 倉庫中拷貝項目。克隆倉庫的命令格式爲:git clone <repo>,若是須要克隆到指定的目錄,可使用如下命令格式:git clone <repo> <directory>。(repo 指 Git 倉庫,directory 指本地目錄)
  默認狀況下,Git 會按照你提供的 URL 所指示的項目的名稱建立你的本地項目目錄。一般就是該 URL 最後一個/以後的項目名稱,若是你想要一個不同的名字,你能夠在該命令後加上你想要的名稱。github

$ git clone git@github.com:lucky-zhangcd/hello.git
Cloning into 'hello'...
remote: Counting objects: 12, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 12 (delta 0), reused 3 (delta 0), pack-reused 0
Receiving objects: 100% (12/12), 2.12 KiB | 310.00 KiB/s, done.

git add

  git add 命令能夠將該文件添加到緩存。緩存

$ touch hello.py
$ ls
hello.py  helloworld.py  README.md
$ git status -s
?? hello.py

git status

  git status 命令用於查看項目的當前狀態。在使用該命令時加 -s 參數,能夠得到簡短的結果輸出。若是沒有加該參數則會詳細輸出內容。編輯器

$ git add hello.py
$ git status -s
A  hello.py
$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
      (use "git reset HEAD <file>..." to unstage)

            new file:   hello.py

git diff

  git diff 查看執行 git status 的結果的詳細信息。
  git diff 命令顯示已寫入緩存與已修改但還沒有寫入緩存的改動的區別。git diff 有兩個主要的應用場景。spa

  • 還沒有緩存的改動:git diff
  • 查看已緩存的改動:git diff --cached
  • 查看已緩存的與未緩存的全部改動:git diff HEAD
  • 顯示摘要而非整個diff:git diff --stat
      git status 顯示上次提交更新後的更改或者寫入緩存的改動,而 git diff 一行一行地顯示這些改動的具體信息。
    ***命令行

    git commit

      使用 git add 命令將想要快照的內容吸入緩存區,而執行 git commit 將緩存區內容添加到倉庫中。
      在 git commit 中使用 -m 選項以在命令行中提交註釋。若是沒有設置 -m 選項,Git 會嘗試爲你打開一個編輯器以填寫提交信息。
    ***code

    git reset HEAD

      git reset HEAD 命令用於取消已緩存的內容。git reset HEAD 以取消以前 git add 添加,但不但願包含在下一提交快照中的緩存。
    ***遞歸

    git rm

      若是隻是簡單地從工做目錄中手工刪除文件,運行 git status 時就會有「Changes not staged for commit」的提示。
  • 要從 Git 中移除某個文件,就必需要從已跟蹤文件清單中移除,而後提交。能夠用如下命令完成此項工做:git rm <file>
  • 若是刪除以前修改過而且已經提放到暫存區域的話,則必需要用強制刪除選項 -f:git rm -f <file>
  • 若是把文件從暫存區域移除,但仍然但願保留在當前工做目錄中,換句話說,僅是從跟蹤清單中刪除,使用 --cached 選項便可:git rm -- cached <file>
  • 能夠遞歸刪除,即若是後面跟的是一個目錄做爲參數,則會遞歸刪除整個目錄中的全部子目錄和文件:git rm -r
    ***資源

    git mv

      git mv 命令用於移動或重命名一個文件、目錄、軟鏈接。rem

相關文章
相關標籤/搜索