初識 Git
寫在前面:
-
註冊github賬號 > 新建一個倉庫 > 創建一個token > 熟悉github界面
-
下載並安裝 Git →click me
-
Git是分佈式版本控制系統,所以每個及其必須自報家門,說明自己的大名和住址(即暱稱和email地址)tell git who you are
-
瞭解相關知識
一、集中式和分佈
二、Git遠程倉庫
三、將本地倉庫同步到git遠程倉庫中
配置 Git
安裝git,對Git進行一些本地配置:
配置個人信息,添加用戶名和郵箱
- user.email:你自己註冊的Github賬號的郵箱
- user.name:你自己的Github賬號名字
命令如下:
git config global --user.email "your email"
git config global --user.name "your name"
完成後,系統自動生成Git的配置文件,該配置文件的位置在用戶的主目錄,配置文件是一個隱藏文件,名稱爲.gitconfig
(顯示隱藏文件請百度)
關於配置文件
-
配置文件(稍後整理)參考文章
-
查看配置
如果要查看已有的配置信息,可以右鍵點擊gitBash
輸入git config --list
命令,如果看到重複的變量名,表示來自不同的配置文件(比如/etc/gitconfig
和~/gitconfig
)實際上,git會採用最後一個;
git config --list //查看已有的配置信息
cat ~/.gitconfig //查看當前用戶配置信息
cat/etc/gitconfig //查看系統級別配置信息
git config user.name //也直接查看某項環境變量值
創建新倉庫
創建新文件夾,打開,然後執行 git init
以創建新的 git 倉庫。
下面每一步中,你都可以通過
git status
來查看你的git倉庫狀態。
本地倉庫工作流
你的本地倉庫由 Git 維護的三棵「樹」組成。第一個是你的
工作目錄
,它持有實際文件;第二個是緩存區(Index)
,它像個緩存區域,臨時保存你的改動;最後是HEAD
,指向你最近一次提交後的結果。
- 創建文件:
touch
文件名 - 添加到暫存區(緩存區):
git add
文件名 - 添加到本地倉庫:
git commit -m "提交描述"
- 你對文件的改動可以添加到緩存區,如果你想放棄修改,可以撤回
- 當我我們將改動添加到本地倉庫的HEAD中時,我們在本地的開發工作就已經完成了,但如果你想要團隊中的成員看到你的成果,你可以進行下一步;
同步到遠程倉庫
git push
//-u origin master
- 舉個例子
git initgit add README.md
git commit -m "first commit"
git remote add origin https://github.com/Penghaiku/betterman.github.io.git
git push -u origin master
- 如果你還沒有克隆遠程倉庫,並且你想要將你的本地倉庫連接到某個服務器,你可以用
git remote add origin <server>
命令來添加,以上以github舉例https://github.com/用戶名/倉庫名.git - 可以將 master換成你想要推送的任何分支(關於分支的問題,這裏暫不詳述)
- 基於以上命令,你就可以將你的修改推送到你所添加的服務器了
刪除文件三步走
- 刪除文件:
rm
文件名 //(remove) - 從Git中刪除文件:
git rm
文件名 - 提交操作:
git commit -m
“關於這次提交的描述”
關於git push 需要輸入密碼的問題
一定要注意訪問的方式:
在開始初始化倉庫的時候很關鍵;
- git 可以用 https 方式訪問也可以用 ssh 方式訪問,其中 https 就是你每次要輸入密碼那種了,ssh的話可以不用輸入密碼,但是安全哪裏來呢 —— 就是密鑰! 密鑰git 密鑰使用 ssh-keygen 生成,分爲 私鑰和公鑰,私鑰本地保存,公鑰放到服務端,github,osc git 等都差不多的設置。
- https 和 ssh 的倉庫地址不一樣,如 開源中國的倉庫 上提供了個按鈕讓你複製,htttps格式:https://git.oschina.net/user_name/project_name.git git 格式: [email protected]:用戶名/倉庫名.git
- 下面以github創建一個*空倉庫*後顯示的頁面爲例,來說明ssh和https兩種克隆命令的區別
- 如何解決git push 需要輸入密碼:
- 生成ssh-key
- 參考文章
參考文檔
談談git代碼回滾
https://sunmengyuan.github.io/garden/2017/06/15/git-revert.html?page=2