1. 在github上建立一個倉庫
- new repository
- 填寫倉庫名,倉庫屬性(公共或者私有),自動新增readme.md檔案
- 建立後如圖
2. 本地git連線遠端github倉庫
- 建立一個本地資料夾用作本地repo,
Open Git Bash here
git init
:初始化一個空的git repos,在指定資料夾中生成了隱藏的.git資料夾。用於儲存本地倉庫的版本資訊等相關資訊。用ls -ah
可以看到隱藏的.git資料夾。不要去手動改.git裡面的東西,亂了就把該git倉庫破壞了。
git config
,用於在本機上關聯設定github郵箱和使用者名稱。字尾帶--global
表示本地計算機的所有倉庫都應用該配置;不加--global
表示可以對特定倉庫指定特定郵箱。
git config --global user.name "xxx"
git config --global user.email "xxx@xx.com"
ssh-keygen -t rsa -C "xxx@xx.com"
:生成本機的SSH Key,(裡面有兩個檔案,一個公鑰,一個私鑰)- 過程中根據提示,按三次Enter鍵就行,會生成
id_rsa
和id_rsa.pub
。
- 生成後,在下圖路徑中就可以檢視到生成的檔案了。用記事本開啟公鑰
id_rsa.pub
,複製裡面的內容,用於一會配置到github上面去。
- 過程中根據提示,按三次Enter鍵就行,會生成
- 開啟github的
setting
,選擇SSH and GPG Keys
。title隨意填寫,key值為上面複製的公鑰。這一步設定了本地git和遠端github之間的通訊密碼,github賬戶只支援合法的SSH KEY對它下面的專案進行修改。- 點選github頭像下的setting
- 選擇
SSH and GPG keys
,然後點選New SSH key
- title隨意,key把之前複製的內容貼上上去就行,點選完成即可。
- 點選github頭像下的setting
3. 上傳本地專案到github
- 找到github對應專案的專案SSH,複製它。
git remote add origin ssh
:用於新增一個新的遠端倉庫到本地的git專案中
- 同步github上master分支的code,指定上傳的分支
git pull origin master
git push -u origin master
git add *
:新增檔案中所有改動git commit
:把git程式碼提交到倉庫區- 上傳github流程
- 建立分支並提交到github
4. 一些其他的git命令
git config --list
:檢查配置資訊git config user.name
:檢查某一項具體配置git help config
,git help push
:獲取幫助git diff
:檢視已暫存的檔案和當前工作目錄中的檔案的差異git log --pretty=oneline
:檢視過去git log
,git relog
:檢視commit記錄- log:不能檢視已經刪除的commit記錄
- reflog:可以檢視所有分支的操作記錄,包括已經被刪除的commit記錄
git reset --hard commit_id
:會消除回退版本後的內容,commid_id為版本號(hash值前七位)git status
:檢視檔案狀態,綠色在暫存區,紅色表示新建/新修改的檔案在工作區git add
:把工作區的檔案新增到暫存區git commit -m "version description"
:提交到倉庫區,-m後面跟版本描述git commit -am "version description"
:之間從工作區到倉庫區,跳過暫存區(git add)- 回退版本
- HEAD表示當前最新版本
- HEAD^表示最新版本的上一個版本
- HEAD^^前兩個版本
- HEAD~1 當前版本的前一個版本
git reset --hard HEAD^
:回退到前一個版本
git push
:將改動上傳到github,如果沒有指定分支,則需要使用git push origin master
git pull origin master
:將遠端主機的最新內容拉到本地,然後和本地分支直接合並,fetch+merge
git fetch origin master
:將遠端的內容拉到本地,不進行合併git clone "遠端地址" "本地檔名"
:克隆遠端檔案git clean -xf
:清除所有未提交的檔案。git branch -a
:檢視本地和遠端的所有分支git branch -r
:檢視所有遠端分支git branch -m "舊分支" "新分支"
:重新命名分支名git clone https://xxx.git
:拉取遠端程式碼git checkout "分支名"
:切換分支git branch "分支名"
:建立分支