今天來講一下關於github命令行相關知識。呵呵,其實github都沒太明白就把git bash擺上來當道菜。看來,我有當程序員的天賦,讓我再裝一會。
前提:你已經在github上已經注冊了賬號。
特別注意: 括號內均為提示信息
1、常用命令行工具:
①cmd ②powershell ③git bash
2、命令行常用命令(在git bash上生效,部分在cmd無用)
-pwd (print working directory) 查看當前所在路徑--絕對路徑
-cd(change directory) 切換目標
-ls(list) 查看當前目錄下的內容
-mkdir(make directory) 創建目錄
-touch 創建文件
-cat 查看文件內容(一次性將內容全部顯示)
-less 查看文件內容(顯示部分信息)--再次輸入‘回車’一行一行顯示,‘空格’一頁一頁顯示 ,‘b’一次向上走一頁
-rm(remove) 刪除文件,-rm -rf 文件夾(循環遞進刪除文件夾)
-rmdir(remove directory)刪除文件夾(只能刪除空文件夾,不常用)
-clear 清屏
-q 退出
-mv(move) 移動文件或重命名
-cp(copy) 復制文件
-echo ‘內容’ > 文件名 (輸出內容到文件中,每次輸入都是覆蓋原來的文件)
-echo ‘內容’ >>文件名(輸出內容到文件中,每次輸入都是追加新內容)
3、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 文件名
注意: 1、必須保證工作目錄中代碼和暫存區中代碼一致。 2、刪除之后,工作目錄中仍然有此文件而暫存區沒有。git不將管理該文件。
⑨ 用暫存區中的文件覆蓋工作目錄中的文件
git checkout -- 文件名
注意: 暫存區和工作目錄中均有此文件,該文件依然被git管理
⑩ 回滾到本地倉庫中特定版本並覆蓋暫存區和工作目錄
git reset --hard commitID(commitID可以到git log中查看提交編號),有種方式:1、全部黏貼 2、只取前6位
注意: 如果有版本1,版本2(后提交),當回滾到版本1時版本2會被自動刪除。
圖示:
分支相關命令:
① 查看分支
git branch (顯示結果中 有* 代表當前所在分支)
② 創建分支
git branch 分支名稱
③ 切換分支
git checkout 分支名稱
④ 創建並切換分支
git checkout -b 分支名稱
⑤ 刪除分支 (如果分支沒有被合並不允許刪除)
git branch -d 分支名稱
⑥ 刪除分支(強制刪除分支)
git branch -D 分支名稱
⑦ 合並分支
git merge 來源分支(意思:當前目錄到主分支,將來源分支合並到主分支上。合並后來源分支仍然存在)
4、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路徑。