1.Git初識
- 更好備份-->差異備份,文件快照備份
- 可以跟蹤文件改動,二進制文件無法跟蹤文件變化
- 快照-->回溯到之前的某一提交狀態,或者整個項目回到某一狀態
- 適合團隊開發
2.cenos 6.4安裝Git
- yum install git (如果報錯可能是你的網絡環境有問題)
3.創建版本庫(倉庫)
- 構建一個空目錄或者空目錄(linux環境下:mkdir,cd,pwd)
- git init --> 將目錄變成git可以管理的倉庫
- 在git倉庫中新建一個文件(可以是txt文件,使用notepad++)
- git add 文件名(上一步創建的文件名) --> 將文件添加到git倉庫
- git commit -m "提交的說明" --> 將文件提交到git倉庫(產生一個commit id)
- git log --pretty=oneline --> 查看文件修改的歷史記錄, (--pretty=oneline 選項設置顯示信息爲一行,可選)
4.回溯
- git中使用HEAD表示當前版本,上一個版本HEAD^,上上個版本HEAD^^,前面100個版本HEAD~100
- git reset --hard HEAD^ -->回溯到上一個版本
- git reflog --> 記錄每一次命令
- git reset --hard commit_id -->實現版本切換
5.工作區和暫存區
- 工作區:電腦中可見的目錄
- 版本庫中的暫存區:.git目錄下的stage
- git status 查看狀態
- git add:把提交的修改放到暫存區,git commit 可以一次性把暫存區的修改提交到分支
- 每次修改文件都要使用git add 將文件放到暫存區,左後git commit 提交暫存區中的所有修改
6.撤銷修改
- 分爲三種情況:一種在工作區中的修改(尚未git add);第二種是提交到暫存區中的修改(執行gita dd);第三中是提交到分支後的修改(執行git commit)
- 第一種情況:git checkout --文件名 -->丟棄工作區的修改
- 第二種:git reset HEAD 文件名 -->把暫存區的修改撤銷掉,重新放回工作區(然後執行第一步,丟棄工作區 修改)
- 第三種:使用版本回退,到上一個版本(沒有推送到遠程版本庫)
6.刪除和回覆文件
- 直接刪除工作區中的目錄(或在命令行中執行:rm 文件名 刪除文件),之後使用git status命令,會提示兩種選擇:從版本庫中刪除該文件;或者恢復工作區中的文件
- 刪除:git rm 文件名
- 恢復: git checkout -- 文件名 -->用版本庫中的文件替換工作區中的文件
7.將本地倉庫內容同步到github倉庫中
- 在github上創建一個新的倉庫
- 在命令行執行
- git remote add origin https://github.com/strawmoon/MyRep.git -->關聯一個遠程庫
git push -u origin master -->第一次推送master分支的所有內容 - git push命令將當前分支master推送到遠程。由於遠程庫是空的,我們第一次推送master分支時,加上-u參數,git不但會把本地的master分支內容推送到遠程新的master分支,還會把本地的master分支和遠程的master分支關聯起來,在以後的推送和拉取中簡化命令。(以後只要本地做了提交,就可以通過命令 git push origin master把本地的master分支推送到Github)
8.從遠程庫克隆
- 知道倉庫的地址,使用git clone命令克隆
- git clone 倉庫地址(例如 git clone https://github.com/strawmoon/MyColone)
9.創建分支
- git checkout -b 分支名稱 -->參數-b表示創建並切換分支
- git branch 分支名稱 --> 創建分支
- git checkout 分支名稱 -->切換分支
- git branch 查看當前分支(當前分支會有一個星號)
- git checkout 分支名稱 -->分支切換
- git merge 分支名稱 -->合併某分支到當前分支
- git branch -d 分支名稱 -->刪除分支