1. 安裝git
$ sudo apt-get intall git
? 終端輸?git 如果有提示證明安裝成功
2.git單?操作
2.1 創(chuàng)建空的git倉庫:
$ git init
? 提示: git倉庫和項?的根路徑在?起,?來管理項?
? 2.2 配置git提交的?戶名,郵箱
? 例如:
$ git config user.name 'battlemonkey'
$ git config user.email 'xxxxx@qq.com'
? 如果沒有配置,默認使?的: ~/.gitconfig 根?錄下的?戶信息
2.3 查看?件狀態(tài): git status
? 紅?: 表示新建?件, 或者新修改了?件,?前位于?作區(qū)中
? 綠?: 表示?件在暫存區(qū)
2.4將?作區(qū)代碼, 添加到暫存區(qū)(?作區(qū)-->暫存區(qū))
? 例如:
$ git add .
$ git add xxx.py
? “點” 表示添加跟蹤 所有變動, xxx.py表示跟蹤指定?件
? 2.5將?作區(qū)代碼,添加到倉庫區(qū)(?作區(qū)—>倉庫區(qū))
? 例如:
$ git commit -m '注釋'
2.6將?作區(qū),直接添加到倉庫區(qū)(?作區(qū)-->暫存區(qū)—>倉庫區(qū))
? 例如:
$ git commit -am '注釋信息'
? 2.7查看版本歷史
? 例如:
$ git log # log查看詳細信息
$ git reflog # reflog查看簡要信
2.8回退版本
# 例如:
$ git reset --hard HEAD
# 或者:
$ git reset --hard 版本號
# HEAD表示當前最新版本
# HEAD^表示當前最新版本的, 上?個版本
# HEAD^^表示當前最新版本的, 前兩個版本, 依次類推
# HEAD~1 表示當前最新版本的, 上?個版本
# HEAD~2 表示當前最新版本的, 前兩個版本, 依次類推
2.9撤銷?作區(qū),暫存區(qū)修改
- 撤銷?作區(qū):
$ git checkout ?件名 # 即: 放棄當前對暫存區(qū)文件的修改, "." 可以指代所有
- 撤銷暫存區(qū):
$ git reset HEAD ?件名 (暫存區(qū)-?作區(qū)) # 將 add . 到 暫存區(qū)的文件 退回到 工作區(qū)
$ git checkout ?件名 # 放棄當前對暫存區(qū)文件的修改
- 倉庫區(qū)代碼不能撤銷,只能回退
? 2.10 版本對?
? 例如:
$ git diff HEAD HEAD^ -- xxx.py
# HEAD表示當前版本, HEAD^表示上個版本, xxx.py對?的?件
2.11誤刪除?件,恢復(fù)
- 格式1: rm ?件名(系統(tǒng)層面的刪除操作)
# 恢復(fù)1:
$ git checkout -- ?件名 # 放棄當前對暫存區(qū)文件的修改
- 格式2: git rm ?件名(對應(yīng)操作是 git add, 相當于把 刪除的操作行為 提交到了 暫存區(qū) )
# 恢復(fù)2:
$ git reset --hard HEAD^
3.git多?操作
? 3.1 clone項?到本地
$ git clone 項?地址
3.2 推送項?到遠程倉庫
$ git push
第?次推送會提示輸?賬號, 密碼
3.3 配置是否輸?登陸密碼信息
$ git config --global credential.helper cache ?五分鐘有效期
$ git config credential.helper 'cache --timeout==3600' ?個?時有效期
$ git config --global credential.helper store ?期有效
? 3.4 拉取遠程最新代碼到本地
$ git pull
4.標簽
? 4.1 設(shè)置本地標簽
$ git tag -a 標簽名 -m '標簽描述'
? 4.2 推送本地標簽到遠程
$ git push origin 標簽名
4.3 刪除本地標簽
$ git tag -d 標簽名
4.4 刪除遠程標簽
$ git push origin --delete tag 標簽名
5.分?
5.1查看當前分?
$ git branch # 查看分支
$ git branch -a # 查看所有分支
$ git branch review # 創(chuàng)建分支 review
5.2創(chuàng)建本地分?,并切換到指定分?
$ git checkout -b 分?名
5.3推送本地分?,到遠程
$ git push -u origin 分?名
5.4切換分?
$ git checkout master / dev # 切換到主分?,或者是其他分?
必須使用git init命令創(chuàng)建倉庫,創(chuàng)建文件,比如 .gitignore ,執(zhí)行 git add . 和 git commit -m 'init初始化' (提交成功后),再使用 git branch 命令,才會顯示出本地分支。否則報錯
fatal: 不是一個有效的對象名:'master'。
$ git branch : #查看本地分支
$ git branch -a : #查看本地及遠程倉庫的分支
“因為git的分支必須指向一個commit,沒有任何commit就沒有任何分支。提交第一個commit后git自動創(chuàng)建master分支” -------廖雪峰
5.5合并子分?到主分支
git merge 分?
需要在master分?下操作改命令
? 5.6刪除一個已被終止的分支
如果需要刪除的分支不是當前正在打開的分支,使用branch -d直接刪除
git branch -d <branch_name>
5.7刪除一個正打開的分支
如果我們在試圖刪除一個分支時自己還沒轉(zhuǎn)移到另外的分支上,Git就會給出一個警告,并拒絕該刪除操作。
如果堅持要刪除該分支的話,就需要在命令中使用-D選項。
git branch -D <branch_name>