工做區(Workspace):添加、
修改、
刪除`文件python
暫存區(Index):將工做區中的操做完成小階段的存儲,是版本庫的一部分git
本地倉庫區(Respository): 對我的開發的一個小階段代碼存儲ssh
記錄的各版本能夠查看或者回退spa
code
# 在虛擬機上安裝 sudo apt-get install git
git --version
git init
# 初始化後運行如下命令會建立一個.git隱藏文件blog
ls -a
# 全局配置我的信息 git config --global user.name "taka" # taka是系統用戶名稱 git config --global user.email "python@admin.com" # 配置信息會保存在家目錄下 pyvip@TL:~/MyProjects/.git$ more ~/.gitconfig [user] email = python@admin.com name = taka # 針對本項目的我的配置信息 git config user.name "taka" git config user.email "python@admin.com" # 配置信息出如今.git/config文件中
# 添加項目中全部文件 git add . 或者 # 添加指定文件 git add test01.py
git status
git commit -m '一些描述'
git push # 推送到遠程倉庫上
git log git reflog # git reflog 能夠查看全部分支的全部操做記錄(包括commit和reset的操做),包括已經被刪除的commit記錄,git log 不能察看已經刪除了的commit記錄
git reset --hard HEAD^ # 一個版本^ ,兩個版本^^ ,如此類推
方法一:ip
HEAD
表示當前最新版本開發
HEAD^
表示當前最新版本的前一個版本rem
HEAD^^
表示當前最新版本的前兩個版本,以此類推...get
HEAD~1
表示當前最新版本的前一個版本
HEAD~10
表示當前最新版本的前10個版本,以此類推...
方法二:
當版本很是多時可選擇的方案
# 經過每一個版本的版本號回退到指定版本 git reset --hard 版本號
git checkout 文件名 # 撤銷工做區代碼
撤銷暫存區代碼
# 第一步:將暫存區代碼撤銷到工做區 git reset HEAD 文件名 # 第二步:撤銷工做區代碼 git checkout 文件名
# 對比本地倉庫庫與工做區 # 在工做區,修改文件 - `git diff HEAD -- test1.py`
# 對比本地倉庫各版本代碼 - `git diff HEAD HEAD^ -- test1.py`
肯定刪除處理
# 刪除文件 rm 文件名 # git肯定刪除文件,對比添加文件git add git rm 文件名 # 刪除後記錄刪除操做版本 git commit -m '刪除描述'
誤刪處理,撤銷修改
# 刪除文件 rm 文件名 # git撤銷修改 git checkout -- 文件名
方法一(從遠程倉庫克隆下來):這個方法和遠程倉庫創建鏈接
git clone git@gitee.com:goodguang/my***.git # git@gitee.com:goodguang/my***.git 是碼雲上的ssh
查看本地倉庫和遠程是否創建鏈接(git remote -v)
方法二(從遠程倉庫克隆下來):這個方法只是把文件下載下來和遠程倉庫沒有創建鏈接
git pull git@gitee.com:goodguang/my***.git # git@gitee.com:goodguang/my***.git 是碼雲上的ssh
若是文件不是一個git倉庫須要先初始化 (git init)
git remote add name git@gitee.com:goodguang/my***.git # name爲鏈接名稱,能夠隨便
git remote # 查看所在的遠程倉庫鏈接名稱 git remote rm name # 刪除遠程倉庫鏈接
git push origin +master # 強制推送 # 或者: git push -u name master # name爲遠程倉庫的名稱
# 下載遠程倉庫文件 git pull origin master --allow-unrelated-histories # 而後再上傳到遠程倉庫 git push