今天來說一下關於github命令行相關知識。呵呵,其實github都沒太明白就把git bash擺上來當道菜。看來,我有當程序員的天賦,讓我再裝一會。html
前提:你已經在github上已經註冊了帳號。git
特別注意: 括號內均爲提示信息程序員
一、經常使用命令行工具:github
①cmd ②powershell ③git bashweb
二、命令行經常使用命令(在git bash上生效,部分在cmd無用)面試
-pwd (print working directory) 查看當前所在路徑--絕對路徑shell
-cd(change directory) 切換目標bash
-ls(list) 查看當前目錄下的內容less
-mkdir(make directory) 建立目錄ssh
-touch 建立文件
-cat 查看文件內容(一次性將內容所有顯示)
-less 查看文件內容(顯示部分信息)--再次輸入‘回車’一行一行顯示,‘空格’一頁一頁顯示 ,‘b’一次向上走一頁
-rm(remove) 刪除文件,-rm -rf 文件夾(循環遞進刪除文件夾)
-rmdir(remove directory)刪除文件夾(只能刪除空文件夾,不經常使用)
-clear 清屏
-q 退出
-mv(move) 移動文件或重命名
-cp(copy) 複製文件
-echo ‘內容’ > 文件名 (輸出內容到文件中,每次輸入都是覆蓋原來的文件)
-echo ‘內容’ >>文件名(輸出內容到文件中,每次輸入都是追加新內容)
三、Git介紹
Git版本管理工具,有三大區域:
① 工做目錄-----存放項目代碼的目錄
②暫存區-----存放工做中更改的文件,避免項目代碼丟失。
③代碼倉庫-----當開發功能足夠成爲一個版本時,提交到倉庫。其實就是將暫存區中代碼複製一份存儲到代碼倉庫中。
Git經常使用命令
① 配置git用戶名和密碼
git config --global user.name sun
git config --global user.email sun@qq.com
② 查看當前git的配置
git config --list
③ 初始化git 倉庫
git init
④ 查看當前倉庫的狀態
git status
⑤ 將工做目錄中的文件添加到暫存區
git add sun.html(這個命令上傳一個文件) git add .(這個命令會將當前目標下全部文件上傳) git add a.txt b.txt (若是上傳多個,文件名之間用空格)
題外話: 若是當前文件夾內文件不少,可是有些又不想提交。能夠經過編輯器(sublime,webstorm等)或命令行建立一個文件 以.gitignore後綴,其內容寫入不想提交的文件名便可。此時再經過git add .命令去所有提交時就會有選擇提交。
⑥ 將暫存區中的代碼提交到本地倉庫,造成一個版本
git commit -m 備註(若是備註內容帶空格,則須要加‘’)
⑦ 查看本地倉庫中的歷史提交版本
git log
⑧ 將暫存區中文件刪除
git rm --cached 文件名
注意: 一、必須保證工做目錄中代碼和暫存區中代碼一致。 二、刪除以後,工做目錄中仍然有此文件而暫存區沒有。git不將管理該文件。
⑨ 用暫存區中的文件覆蓋工做目錄中的文件
git checkout -- 文件名
注意: 暫存區和工做目錄中均有此文件,該文件依然被git管理
⑩ 回滾到本地倉庫中特定版本並覆蓋暫存區和工做目錄
git reset --hard commitID(commitID能夠到git log中查看提交編號),有種方式:一、所有黏貼 二、只取前6位
注意: 若是有版本1,版本2(後提交),當回滾到版本1時版本2會被自動刪除。
圖示:
分支相關命令:
① 查看分支
git branch (顯示結果中 有* 表明當前所在分支)
② 建立分支
git branch 分支名稱
③ 切換分支
git checkout 分支名稱
④ 建立並切換分支
git checkout -b 分支名稱
⑤ 刪除分支 (若是分支沒有被合併不容許刪除)
git branch -d 分支名稱
⑥ 刪除分支(強制刪除分支)
git branch -D 分支名稱
⑦ 合併分支
git merge 來源分支(意思:當前目錄到主分支,未來源分支合併到主分支上。合併後來源分支仍然存在)
四、github 相關命令介紹
4.1 模擬一個公共代碼倉庫
①先初始化 git init --bare sun.git (注意:此時公共代碼倉庫的文件夾必須以.git爲後綴名)
4.2 github倉庫
① 爲遠程倉庫地址建立別名
git remote add origin https://github.com/sun766/Programming-art.git(此處舉例)
注意: 一般咱們會把遠程倉庫地址設置別名爲origin
② 查看遠程地址的詳細信息
git remote -v
③ 查看當前別名所對應的遠程倉庫地址
git remote show origin
④ 從遠程倉庫獲取代碼(拉取全部版本到本地)
git clone origin
注意: 加入到已有項目的開發中,須要先拉取全部版本到本地再進行開發。
⑤ 從遠程倉庫拉取代碼(拉取最新版本到本地,開發過程當中使用)
git pull origin master
面試題: 說出clone 和 pull 之間區別
⑥向遠程倉庫推送代碼
git push origin(遠程倉庫地址) master(本地分支名稱):master(遠程分支名稱)
注意: 推送時必定要在本地代碼倉庫目錄中,若是本地分支同遠程分支名稱同樣,能夠只寫一個。
⑦ 刪除當前別名所對應的遠程倉庫地址
git remote remove origin
記住: 若是你想從新使用origin 別名,則須要將原來的origin 對應遠程地址刪除掉。
‘’多人協做開發免登陸設置」
當不想使用帳戶和密碼進行推送代碼時,建議使用SSH協議。
在git bash 中輸入ssh-keygen, 自動會在c:/用戶/administrator/中生成.ssh文件。其包括三個文件
① id_rsa ② id_rsa.pub ③ known_hosts
在github帳號中settings/SSH and GPG keys,點擊New SSH key將②中內容複製粘貼。
注意: 設置別名時用SSH路徑。