1. 程式人生 > >常用的git命令

常用的git命令

列表 它的 branch 遠程 麻煩 fig 什麽 gre sta

GIT

什麽是git

  • 是一個源代碼管理工具
  • 在一個項目中,凡是由開發人員編寫的都是源代碼
  • 源代碼有必要被管理起來嗎
  • 讓源代碼可以被追溯,主要記錄每次變了什麽,誰主導這次變化
  • 人為的維護比較麻煩
  • GIT是Linux之父當年為了維護管理Linux源代碼寫的一個工具
  • GIT之前很多使用的svn vss tfs hs

  • https://guides.github.com/

安裝GIT

  • git命令行工具
  • 基於git命令行的一個客戶端軟件(提供一個界面去管理源代碼)

GIT命令操作

  • 初始化一個本地倉庫
    ···shell
    cd 當前項目目錄
    git init //初始化一個本地的倉庫
    ···

就是在本地文件夾中添加了一個.git文件夾,用於記錄所有的項目變更信息

  • 查看本地倉儲的變更狀態

git status
用於查看本地倉儲的狀態
第一次查看,顯示的是根目錄下沒有被跟蹤的文件

git status -s //-s參數,輸出簡要的變更日誌

  • 添加本地暫存(托管)文件

git add
可以將一個沒有被跟蹤的文件添加到跟蹤列表
git add . 添加所有文件
類似於node_modules這種性質的文件是不需要跟蹤的

  • 添加本地忽略清單

在代碼文件夾的根目錄添加一個.gitignore文件
此文件用於說明忽略的文件有哪些

  • 提交被托管的文件夾變化到本地倉儲

git commit
將本地的變化提交到本地的倉庫文件夾歸檔
一般在有了一個小單元的整體變化後再提交

  • 對比差異

git diff
可以用於當前狀態和版本庫中的狀態對比

  • 提交日誌

git log
可以查看提交日誌

  • 回歸到指定版本

常用 git命令

  1. 新建代碼倉庫
    ```shell

    在當前目錄新建一個Git代碼庫

    $ git init

新建一個目錄,將其初始化為Git代碼庫

$ git init [project-name]

下載一個項目和它的整個代碼歷史

$ git clone [url]
```

  1. 配置
    ```shell

    顯示當前的Git配置

    $ git config --list

編輯Git配置文件

$ git config -e [--global]

設置提交代碼時的用戶信息

$ git config [--global] user.name "[name]"
$ git config [--global] user.email "[email address]"
```

  1. 增加/刪除文件
    ```shell

    添加指定文件到暫存區

    $ git add [file1] [file2] ...

添加指定目錄到暫存區,包括子目錄

$ git add [dir]

添加當前目錄的所有文件到暫存區

$ git add .

添加每個變化前,都會要求確認

對於同一個文件的多處變化,可以實現分次提交

$ git add -p

刪除工作區文件,並且將這次刪除放入暫存區

$ git rm [file1] [file2] ...

停止追蹤指定文件,但該文件會保留在工作區

$ git rm --cached [file]

改名文件,並且將這個改名放入暫存區

$ git mv [file-original] [file-renamed]
```

  1. 代碼提交
    ```shell

    提交暫存區到倉庫區

    $ git commit -m [message]

提交暫存區的指定文件到倉庫區

$ git commit [file1] [file2] ... -m [message]

提交工作區自上次commit之後的變化,直接到倉庫區

$ git commit -a

提交時顯示所有diff信息

$ git commit -v

使用一次新的commit,替代上一次提交

如果代碼沒有任何新變化,則用來改寫上一次commit的提交信息

$ git commit --amend -m [message]

重做上一次commit,並包括指定文件的新變化

$ git commit --amend [file1] [file2] ...
```

  1. 分支
    ```shell

    列出所有本地分支

    $ git branch

列出所有遠程分支

$ git branch -r

列出所有本地分支和遠程分支

$ git branch -a

新建一個分支,但依然停留在當前分支

$ git branch [branch-name]

新建一個分支,並切換到該分支

$ git checkout -b [branch]

新建一個分支,指向指定commit

$ git branch [branch] [commit]

新建一個分支,與指定的遠程分支建立追蹤關系

$ git branch --track [branch] [remote-branch]

切換到指定分支,並更新工作區

$ git checkout [branch-name]

切換到上一個分支

$ git checkout -

建立追蹤關系,在現有分支與指定的遠程分支之間

$ git branch --set-upstream [branch] [remote-branch]

合並指定分支到當前分支

$ git merge [branch]

選擇一個commit,合並進當前分支

$ git cherry-pick [commit]

刪除分支

$ git branch -d [branch-name]

刪除遠程分支

$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
```