git bash and git 初體驗

BreezingSummer發表於2018-03-04

git bash初使用

通識命令

~    使用者資料夾(windows user)
/    全碟符
.    當前目錄
..   上級目錄
$    命令列開始

常用命令

mkdir    建立目錄      make directory
cd       進入目錄      change directory
rm       刪除          remove
mv       移動/重新命名    move
cp       複製          copy
ls       羅列          list
link     連結(Windows不可用)
find     查詢
echo     獲得回應/建立“有內容的”檔案    echo "內容" > xxx
touch    訪問/建立檔案
-f       強制(對話方塊全選yes)    rm -rf xxx   全部刪除xxx下面每一個檔案,不用給我對話方塊提示
-r       遞迴、重複              rm -r xxx    刪除xxx下面每個檔案,請都給我對話方塊提示
pwd      顯示當前目錄絕對地址
mkdir -p ""    建立多級資料夾     mkdir -p "demo1/demo2/"
""       強調一些命令是一體的      echo "xxx yyy"
whoami   顯示當前使用者名稱
clear    清屏,不清除歷史記錄
ls       顯示所有下級檔案(不包括隱藏)
ls -a    顯示所有下級檔案(包括隱藏)
ls -l    顯示下級檔案詳細資訊(不包括隱藏)
ls -al   顯示下級檔案詳細資訊(包括隱藏)
>    重定向(覆蓋原內容)
>>   重定向(不覆蓋原內容)
echo "yyy">xxx     把yyy寫到xxx裡面
echo "zzz">>xxx    把zzz添到xxx裡面
echo "aaa">! xxx   把xxx內容替換為aaa
touch xxx.字尾     沒有xxx.字尾,建立xxx.字尾;有的話,就訪問一下,無其餘操作
cp       複製                        cp 原路徑 新路徑
cp -r    複製資料夾(包括子檔案)
mv       移動/重新命名                 mv 原路徑 新路徑
                                    mv 檔案 檔案     →→→→→ 重新命名
                                    mv 檔案 路徑     →→→→→ 移動+覆蓋      
rm       永久刪除
rm -f    強制永久刪除
rm -r    永久刪除資料夾
rm -rf   強制永久刪除資料夾

其他繁雜的命令

man        使用手冊(Windows下不支援)
--help     使用手冊(Windows下的使用手冊)(注意空格,例:cd --help)
tree       檢視當前目錄的樹形結構圖(Windows不支援)
link -s    連結兩個檔案(沒有連結檔案,建立後連結)(Windows不支援)
df -kh     硬碟使用情況
du -sh .   當前目錄大小
du -h      目錄下所有檔案大小
q          退出
curl -L 連結地址>新檔案地址           下載連結地址到新檔案
wget -g -H -e robots=off 連結地址    下載頁面所有元素

github 使用

  1. sign in → Settings → SSH and GPG keys → new SSH key → title/key
  2. 新電腦或沒有申請過的電腦,現在沒有key,要在git bash 上生成。
    上一步 SSH and GPG keys 的頁面上有generating keys可以參考。

    generate new Key(git bash):
    - ssh-keygen -t rsa -b 4096 -C "你的郵箱"
    - enter
    - enter
    - enter
    - ll ~/.ssh/              檢視新的.pub所在資料夾
    - cat ~/.ssh/id_rsa.pub   檢視新的.pub內容
  3. 複製id_ras.pub內容,這個就是 new KEY

    .ssh下面還有id_rsa這個檔案,這個是鑰匙,上傳的其實是“鎖”,但github網站上寫的是Key
  4. bit bash裡鍵入ssh -T git@github.com測試是否和github連結成功(Hi!你的github使用者……)

    一個電腦只需要一個Key

git 的配置和使用

git 的配置

git bash下鍵入下面配置命令(一條一條的輸入……):

git config --global user.name 你的英文名
git config --global user.email 你的郵箱
git config --global push.default matching
git config --global core.quotepath false
git config --global core.editor "vim"

git的使用

本地使用

  1. 找地方建立(mkdir)資料夾,進入(cd)資料夾,初始化 git(git init),資料夾裡會有.git檔案
  2. 使用touch建立檔案(index.html),用於測試
  3. 使用 git status -sb 檢視資料夾內檔案的git狀態
  4. 使用 git add xxx.字尾 上傳檔案至暫存區
  5. 使用 git commit 檔名 -m "必須寫的描述文字" 提交檔案本地倉庫(.git檔案)
  6. 使用 git log 檢視操作日誌

    - 若檔案有所變動,再次git add,再次git commit -m就可以了
    - 鍵入  git commit . -m "必須寫的描述文字"  提交所有檔案

從本地上傳至github

  1. github上建立一個空倉庫(repo)
  2. 在本地建一個倉庫(參考上一節本地使用)(直接新建資料夾後,git init
  3. 建立空倉庫後github頁面上會有提示,貼在下面:

    git remote add origin git@github.com/你GitHub的使用者名稱/你倉庫名字.git
    git push -u origin master
  4. 上面兩行直接鍵入 git bash 中,上傳完成!
  5. 第一行命令出現fatal: remote origin already exists錯誤,鍵入下面語句刪除關聯後,鍵入第一行命令再關聯:

    git remote rm origin
  6. 第二行命令出現error:failed to push som refs to `你的 github 地址`錯誤,鍵入下面語句拉下後,鍵入第二行命令重新上傳:

    git pull origin master

從github下載倉庫(repo)

  1. 進入你想下載的 repo
  2. 點選右邊綠色 Clone or download 按鈕
  3. 複製 git 地址(git@開頭,點選use SSH切換)
  4. git bash 下,進入(cd)你想要下在的位置,鍵入:

    git clone 複製的地址
  5. 下載完成,使用cd進入下載的位置~

更新後,上傳單個檔案

  1. git add 你的檔案
  2. git commit 你的檔案
  3. git pull

    • github 上檔案被別人更改了,從本地上傳至 github 時,必須使用 git pull
    • github 上被人更改後,使用git pull會跳出vim編輯器,按esc → : → q → ! → enter
  4. git push

刪除檔案、資料夾

本地控制遠端 github 刪除後,重新推送至 github

1. git rm --cached 檔名
   git rm -rf --cached 資料夾名
2. git commit -m `描述文字都可以,東西都沒了`
3. git push -u origin master

其它git bash上和github有關的命令

git remote add origin git@github.com:你的github使用者名稱/github檔案路徑.git 
                           將本地倉庫與遠端倉庫關聯
git remote set-url origin git@github.com:你的github使用者名稱/github檔案路徑.git
                           上一步手抖了,可以用這個命令來挽回
git branch                 新建分支
git merge                  合併分支
git stash                  通靈術(暫存)(可多次暫存)
git stash list             檢視暫存區列表
git stash pop stash@{id}   反轉通靈術(提取之前暫存的內容)
git revert                 後悔了
git reset                  另一種後悔了
git diff                   檢視詳細變化

相關文章