Git简介、命令
一、Git 和 SVN 的區別
(一) SVN 優缺點
優點:
管理方便,邏輯明確
易于管理,集中式服務器更能保證安全性
代碼一致性非常高
適合開發人數不多的項目開發
缺點:
服務器壓力太大,數據庫容量暴增
如果不能連接到服務器上,基本上不可以 工作,如果服務器不能連接上,就不能提 交,還原,對比等等
不適合開源開發
(二) Git 優缺點
優點:
適合分布式開發,強調個體
公共服務器壓力和數據量都不會太大
速度快,靈活
任意兩個開發者之間可以很容易的解決沖
突
缺點:
學習周期相對而言比較長
代碼保密性差,一旦開發者把整個庫克隆 下來就可以完全公開所有代碼和版本信息
二、Git Bash 使用(命令行)
三、Git 的命令行使用
四、Git 本地操作(add commit status –reset hard refglog)實際操作
五、注冊 gitHub 賬號
六、從 gitHub 或碼云上下載項目
(一) 切換到存放 git 版本庫的地方
(二) Git clone url(github 上的地址)
七、設置全局用戶名(提交代碼的時候就會將用戶名 和郵箱存入版本庫中,其他開發人員就可以看到 是誰提交的代碼)
(一) git config --global user.name github 上的用戶名
八、設置全局的郵箱
(一) git config --global user.email 郵箱
九、查看全局郵箱
(一) git config --global user.email
十、 查看所有配置信息
(一) git config --list
十一、 master:主分支
十二、 git 的三個區
(一) workspace 工作區(當前編輯的代碼區):新添 加的,和修改的未 add 操作的。
(二) stage 暫存區(作為過渡層、避免誤操作、保 護工作區和版本區、分支處理):add 操作過后, 會進入暫存區
(三) repository 版本庫(版本控制,本地倉庫): commit 操作后,會進入本地倉庫
(四) remote(遠程倉庫):push 操作后,會提交到遠程倉庫
十三、Git 命令
(一) Git status (查看工作區)
(二) Git add 文件名 1 文件名 2 …… (將一個或 多個文件添加到暫存區)
Git add . (將所有工作區的中修改的和新 添加的內容加入暫存區)
或者: git add –A (將所有工作區的中修改 的和新添加的內容加入暫存區)
或者:git add * (將所有工作區的中修改的和 新添加的內容加入暫存區)
Git add 目錄名 (將指定目錄加入暫存區)
(三) Git commit –m “注釋內容” (將所有文件從 暫存區存入版本區)
(四) Git commit 文件 1 文件 2 –m “注釋內容” (提交暫存區的指定文件)
(五) git commit -a -m “注釋” (直接從工作區存入 暫存區再存入版本區,-a:存入暫存區,-m:存入 版本區)
(六) git log (查看日志) : 如果版本太多,一次顯示 不全,想要退出此狀態,請按 q
(七) 對比
Git diff (工作區與暫存區的差異對比)
Git diff --cached(–staged) (暫存區也版本庫 的差異對比)
Git diff master (工作區與版本庫的差異對比)
(八) 撤銷
Git reset HEAD <file.name> (從暫存區撤銷回 工作區,發現提交錯了,退回一步)
Git reset HEAD (撤銷上一次 add 提交的所 有文件)
Git checkout – <file.name> (從工作區撤銷回上 一次提交的版本區)
Git commit --amend (撤銷上一次的提交命令, 重新提交新的代碼)
(九) 刪除
Git rm <file.name> (如果工作區刪除了一個文 件,通過此命令可以把暫存區的文件刪除)
Git rm -f <file.name>(如果刪除暫存區的文件, 那么工作區和暫存區的文件都會刪除)
Git rm --cached <file.name> (只刪除暫存區的 文件,工作區的文件保留)
(十) 恢復
Git checkout (commit id) <指定文件> (還原刪除的文件)
Git reset – hard (commit id) (還原版本)
HEAD^ (返回上一個版本)
HEAD~ (返回上幾個版本)
Git reflog (操作記錄,可以回到當前版本)
(十一) 同步到遠程倉庫
Git remote (查看遠程倉庫的名字)
–v (查看遠程地址)
Origin (遠程倉庫的名字)
Git push origin master (推送到遠程倉庫)
git push -u origin master -f (強制 push 到遠程倉 庫)
(十二) 多人協作解決沖突
Git fetch (從遠程獲取但不與當前代碼合并)
Git diff master origin/master (查看兩個沖 突文件的異同)
Git merge origin/master (合并)
Git pull(從遠程獲取并與當前代碼合并)
總結
- 上一篇: adb-获取包名/界面名、获取app启动
- 下一篇: docker-compose安装rabb