Git的簡單使用
1. 本地庫初始化前期
1.1. 本地庫初始化
在項目文件夾中使用git init 初始化git本地倉庫
會生成一個.git文件夾, 裏面有一些子目錄和文件
1.2. 設置簽名
1. 形式:
用戶名: tom
Email地址: [email protected]
作用: 區分開發人員
2. 辨析: 這裏設置的簽名和登陸遠程中心的賬號密碼沒有任何關係
3. 命令:
1. 項目(倉庫) 級別: 僅在當前本地庫使用, 即本項目使用
git config user.name tom_pro
git config user.email [email protected]
信息保存的位置是.git/config
2. 系統用戶級別: 登陸當前操作系統的用戶範圍
git config --global user.name tom_glb
git config --global user.email [email protected]
保存位置 ~/.gitconfig
3. 遵循就近原則: 項目級別 > 系統用戶級別
不允許都不存在的狀態.
2. 本地庫的操作
2.1. 初始化和提交
1. 查看狀態
git status
2. 將工作區的"新建和修改" 添加到暫存區
git add <file> 將沒有track的文件假如到我們的git管理的東西, 即添加到暫存區
git rm --cached 移除到暫存區, 進行撤銷
git commit 進行提交併寫上註釋
git commit -m "" <file name>
2.2 更新版本(前進後退)
2.2.1 查看日誌
git log 顯示日誌, 完整的日誌
git log --pretty=oneline 在同一行顯示, 有完整的hash值
git log --oneline 顯示hash值的一部分
git reflog 顯示移動的步數
HEAD@{移動到當前版本的步數}
2.2.1 基於索引值進行前進後退[推薦使用]
git reflog 先查看hash值
git reset --hard <hash Value>
2.2.2 使用^符號: 只能後退
git log --oneline 只顯示先前的歷史記錄
git reset --hard HEAD^ "^" 的個數代表回退的機會
git reset --hard HEAD~3 表示回退3步
git reset --hard HEAD~n "n" 代表我們要回退的步數
2.2.3 reset的三個參數對比
1. --soft
僅在本地庫移動指針
本地庫向前, 相對的暫存區和工作區後移
2. --mixed
在本地庫移動HEAD 指針
重置暫存區
3. --hard 使用最多OB
在本地庫移動HEAD指針
重置暫存區
重置工作區
2.2.4 刪除文件找回
**前提: 刪除前: 文件存在時的狀態提交到了本地庫**
git reset --hard [指針位置]
刪除操作已經提交到本地庫, 指針指向歷史記錄位置
刪除操作爲提交至本地庫, 指針使用HEAD
使用跳轉就好了
2.2.5 進行比較, 文件差異
git diff [文件名]
將工作區的文件和暫存區比較
git diff [本地庫歷史版本]
將工作區的文件和本地庫歷史記錄進行比較
2.3 分支操作
1. 創建分支
git branch [分支名]
2. 查看分支
git branch -v
3. 切換分支
git checkout [分支名]
4. 合併分支
1. 切換到接收修改的分支上(被合併的, 增加新內容);
git checkout [分支名]
2. 執行merge命令
git merge [分支名]
5. 分支衝突
1. 衝突表現: 文件中多出來一些東西, 指明是誰修改了
2. 衝突解決
2.1 編輯文件, 刪除特殊符號
2.2 把文件修改到滿意的程度
2.3 git add [文件名]
2.4 git commit -m "日誌信息"
notice : 此時不能帶任何文件名字
3. 遠程庫與本地庫之間的操作
3.1 克隆 git clone [Address]
1. 完整的把遠程庫下載到本地
2. 創建origin遠程地址別名
git remote add orgin [地址]
3. 初始化本地庫
4. 推送到遠程庫
git push [地址別名] [分支名]
3.2 pull = fetch + merge
git fetch [遠程庫地址別名] [遠程分支名]
git merge [遠程庫別名/遠程分支名
3.3 解決衝突:
1. 要點
1. 如果不是基於Github遠程庫最新版做的修改, 不能推送, 必須先拉去操作.
2. 拉取下來, 進入衝突, 解決衝突就好了.
3.4 ssh登陸
1. 進入當前用戶的home目錄
$ cd ~
2. 刪除.sh目錄
$ rm -rvf .ssh
3. 運行命令生成.ssh密鑰目錄,
$ ssh-keygen -t rsa -C [Your email used in login Github]
notice : -C is capital format
4. 進入.ssh 目錄查看文件列表
$ cd .ssh
$ ls -LF
5. 查看id_rsa.pub的文件內容
$ cat id_ras.pub
6. 複製文件內容, 登陸GitHub, 點擊頭像->Settings->SSH and GPG keys
7. NEW ssh key
8. 輸入複製的密鑰信息
9. 回到git bash 裏面創建遠程地址別名.
$ git remote add orgin_ssh [ssh 地址]
10. 推送文件測
4. 在eclipse中進行操作
4.1 在eclipse 中初始化本地庫, 右鍵工程->team->share project
4.2 創建好之後, 我們可以需要寫一個gitignore文件,忽略我們版本庫不需要的東西.
4.3 未完待續