git初識 基礎筆記

git 是什么

Git是目前世界上最先進的開源的分布式版本控制系統(tǒng)。

需要安裝git

https://segmentfault.com/a/1190000011809698(安裝目錄不要在中文下)

????git config --global user.name xxx(英文用戶名)

????git config --global user.email xxxx(郵箱地址)

????git config --list 查看全局的配置

常用命令

添加查看

命令???????????????? ????????????????????????????????說明

git config --list ????????????????????????????????獲取git 的配置項

git config 配置項名 ????????????????????????獲取具體的配置名

git config 配置項名 新名字 ????????????修改配置項

git init ????????????????????????????????????????????初始化本地版本庫

git status???? ????????????????????????????????????查看倉庫狀態(tài)

git add .? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 把工作區(qū)的所有修改提交到暫存區(qū)

git add 文件路徑 ????????????????????????????把工作區(qū)指定文件提交到暫存區(qū)

git commit -m “描述”? ? ? ? ? ? ? ? ? ? ? ?把暫存區(qū)的修改提交本地版本庫(master分支)

git diff ????????????????????????????????????????????查看工作區(qū)具體修改

git diff --cached? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 查看暫存區(qū)具體修改

git pull origin master? ? ? ? ? ? ? ? ? ? ? ?遠程代碼拉取到本地工作區(qū)

git log ????????????????????????????????????????????查看歷史記錄 (記錄非常多的情況下,英文狀態(tài)下Q退出當前記錄)

git reflog ????????????????????????????????????????可以查看所有分支的所有操作記錄(包括已經(jīng)被刪除的 commit 記錄和 reset 的操作)

git commit -am “描述” ????????????????????提交工作區(qū)自上次commit之后的變化,直接到倉庫區(qū)(省略git add)

添加到本地倉庫(版本庫)

1:git init

2:git add .

3:git commit -m "描述"

4:git log

撤銷

第一種情況:撤銷工作區(qū)的修改

????????# git checkout 文件路徑

第二種情況:撤銷暫存區(qū)的修改

????????# 1. git reset 文件路徑 (把暫存區(qū)的修改撤回工作區(qū))

????????# 2. git checkout 文件路徑

第三種情況:版本回退

????????# git reset --hard HEAD^? //回退到上個版本

????????# git reset --hard HEAD^^ //上上個版本

HEAD^^^~n //回退到n個版本上

????????回退到指定版本(回到現(xiàn)在過去)

????????git reset --hard commit_id(e66aa88...)

如何獲取所有版本的commit_id呢?

針對這個需求,需要分兩種情況:

????????* 第一,git bash窗口沒有關(guān)閉,使用前面查過的commit_id

????????* 第二,git bash窗口關(guān)閉。比如,昨天做的操作,今天后悔了。 使用 git reflog

遠程倉庫操作

命令? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?說明

git clone 倉庫的地址? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 克隆一個版本庫到新的目錄 (git init 不要重復使用)

git remote add origin 倉庫的地址? ? ? ? ? ? ? ? ? ? ? ?添加遠程倉庫地址(鏈接遠程倉庫)

git push origin master ????????????????????????????????????????推送到遠程服務器

git push -u origin master ????????????????????????????????????如果當前分支與多個主機存在追蹤關(guān)系,則可以使用-u選項指定一個默認主機,這樣后面就可以不加任何參數(shù)使用git push。

git remote -v ????????????????????????????????????????????????????????查看關(guān)聯(lián)的遠程服務器名稱,在每一個后面有url

git pull origin master ????????????????????????????????????????????遠程代碼拉取到本地工作區(qū)

git pull --rebase origin master? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?拉取遠程的文件把本地的覆蓋

git pull --allow-unrelated-histories ????????????????????????拉取失敗的時候(允許不相關(guān)的歷史合并)

git remote set-url origin ssh/https地址? ? ? ? ? ? ? ? ? ssh與https互換

git 分支管理

命令 ????????????????????????????????????????????????????說明

git branch 分支名???????????????????? ????????????創(chuàng)建分支

git branch ????????????????????????????????????????????查看本地所有分支

git branch -r ????????????????????????????????????????查看遠程所有分支

git branch -a ????????????????????????????????????????查看本地和遠程所有分支

git checkout 分支名? ? ? ? ? ? ? ? ? ? ? ? ? ????切換分支

git merge 分支名? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?????合并分支

git checkout -b 分支名? ? ? ? ? ? ? ? ? ? ? ?????創(chuàng)建并切換分支

git branch -d 分支名? ? ? ? ? ? ? ? ? ? ? ? ? ?????刪除本地分支

git push origin -d 分支名? ? ? ? ? ? ? ? ? ? ? ? 刪除遠程分支

git fetch origin 遠程分支:本地分支 ????????拉取遠分支,并創(chuàng)建本地分支

git找回本地誤刪的文件

1.首先,我們先用git status 看看工作區(qū)的變化

$ git status

On branch master

deleted:? Home/View/index.html

Home/View/index.html,記住這個。

$ git reset HEAD Home/View/index.html

$ git checkout Home/View/index.html

git 中一些選項解釋

-d --delete:刪除

-D? --delete --force的快捷鍵

-f? --force:強制

-m? --move:移動或重命名

-M? --move --force的快捷鍵

-r? --remote:遠程

-a? --all:所有

gitHub 推薦使用 ssh

公鑰和秘鑰:任意位置打開 git命令窗口,輸入:ssh-keygen

一頓回車,之后會看到路徑和圖形代碼,說明成功。

命令????????????????????????????????????????????????????????????說明

pwd????????????????????????????????????????????????????????????查看工作目錄

cd [目錄位置]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?切換工作目錄

ls [選項]… [目錄或文件名]? ? ?????????????????????顯示某一個文件,或者某一個目錄旗下子目錄的屬性。

du [選項]… [目錄或文件名]????????????????????????統(tǒng)計目錄及文件的空間占用情況

命令窗口退出(英文狀態(tài)下)

:wq 強制退出當前

q 退出git log 描述

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容