Linux安裝php
二進制包(在線) yum -y install git //RedHat系列 apt-get git install //Debian系列 源碼包(官網下載)
Windows安裝html
Git在Windows使用模擬環境msysgitgit
下載地址: [https://git-for-windows.github.io/](https://git-for-windows.github.io/) 注意:若是想讓windows做爲git服務器則須要搭建ssh服務。
不管Linux仍是Windows,安裝完成後都要初始化
git config [--global] user.name "Your Name" git config [--global] user.email "your@email.com" 中括號內的參數: --local 本地 --system 系統 --global 全局 無參,則爲當前庫配置身份
git init
ls -a
查看該目錄下出現.git的隱藏目錄,即版本庫1.txt
git status #查看當前版本狀態github
在工具內輸入如下,添加文件至版本庫:windows
git add 1.txt緩存
git commit -m "描述"bash
git add newfile1 newfile2 ...服務器
git commit -m "描述"ssh
ps:
git add .工具
git add --all
git status
提示nothing to commit, working directory clean
git status # 查看當前版本狀態(是否修改)
修改文件測試如下 :
git diff # 工做區 與 緩存區的區別 git diff --cached # 緩存區 與 版本庫的區別 git diff HEAD # 工做區 與 版本庫的區別
Git日誌,分析日誌構成 :
git log # 查看提交歷史 git log --oneline # 以簡短的方式查看提交日誌
git reset --hard HEAD # 將當前版本重置爲HEAD(一般用於清空緩存區,或merge失敗回退) git reset --hard HEAD^ # 回退上一個版本 git reset --hard HEAD^^ # 回退上兩個版本 git reset --hard HEAD~n # 回退上n個版本 git reset --hard <commitid> # 回退到指定版本,commitid根據log獲取
git reflog # 行爲日誌,顯示全部提交,回滾等.. git ls-files # 顯示緩存區的全部文件
目的:將還沒有提交至版本庫的修改撤回。
git checkout --filename # 在工做區撤銷文件的修改
git checkout HEAD [filename] # 撤回添加至緩存區的修改,不指定filename則撤回全部
git rm index.php # 刪除index.php文件 git rm --cached index.php # 將index.php文件移出緩存區,但不刪除( -r * 遞歸目錄) git rm -f 1.html # 將緩存區中的1.html文件移出並刪除
可使用兩種方式來獲得遠程版本庫:
git clone <遠端版本庫url> <本地存放該庫的文件夾名>
git init #初始化本地倉庫 git remote add <remote> <url> # 添加遠程版本庫 <remote>可自行取名,默認origin git remote -v # 查看遠程版本庫信息 git remote show <remote> # 查看指定遠程版本庫信息 git remote remove <remote> # 刪除遠程remote連接 git pull <remote> <branch> # 下載代碼及快速合併
獲得遠端版本庫後,能夠在本地按正常的步驟編輯 :
新建或改動文件-->添加至緩存區-->提交到版本庫
此時,要想將本地版本庫發給遠端,只有commit提交是不夠的.
還須要下面的操做 :
git push <remote> <branch> # 上傳代碼及快速合併
執行以上代碼,會有報錯 : 沒法直接推送到遠端的主分支
此時,能夠曲線救國,推送本身的分支到遠端便可 :
git push origin master:dev
此時,推送成功!
git branch # 顯示本地分支 git branch -a # 顯示全部分支 git checkout 分支名/標籤名 # 切換到指定分支或標籤
git branch 分支名 # 新建分支 git checkout -b dev # 建立並切換到dev分支 git branch -d 分支名 # 刪除本地分支 -D 強制刪除
要將B分支合併到A分支裏
請切換到A分支內,合併B分支的操做在A分支內進行
git merge 分支名 # 合併分支到當前分支
多分支修改同一文件,合併可能出現衝突。衝突部分用<<<===>>>表示
解決方法:
先手動修改衝突部分,再次提交便可。
市面上有名的Git託管系統 :
1). 本地打開git bash ,cd
切換到用戶的家目錄
2). 使用pwd
來查看目錄是否正確
3). 使用 ssh-keygen.exe -t rsa
來生成SHA256的SSH密鑰(按回車確認便可)
4). cd .ssh/
切換至ssh目錄
5). ls
查看目錄下文件
6). cat id_rsa.pub
查看生成的密鑰,並複製
7). 打開git@osc開源中國,登陸本身的帳戶.點選我的資料
8). 選擇SSH公鑰
9). 在添加公鑰界面,將剛剛複製好的密鑰粘貼進來,再本身取一個該密鑰的名字,以便於區分管理
10). 本地新建一個目錄,用於拉取遠端版本庫
11). 使用 git init
初始化該目錄
12). 使用git remote add origin <SSH地址>
來添加遠程版本庫
13). 使用git remote -v
來查看遠程版本庫信息
14). 使用git pull origin marster
來拉取版本庫及代碼
1). 運行 git Bash 客戶端,輸入以下代碼:$ cd ~/.ssh
$ ls
這兩個命令就是檢查是否已經存在 id_rsa.pub 或 id_dsa.pub 文件,若是文件已經存在,那麼你能夠跳過步驟2,直接進入步驟3
2). 建立一個 SSH key $ ssh-keygen -t rsa -C "your_email@example.com"
代碼參數含義:
-t 指定密鑰類型,默認是 rsa ,能夠省略。
-C 設置註釋文字,好比郵箱。
-f 指定密鑰文件存儲文件名。
3). 添加你的 SSH key 到 github上面去$ cat ~/.ssh/id_rsa.pub
4). 測試一下該SSH key 在git Bash 中輸入如下代碼$ ssh -T git@github.com
顯示相似以下,表示成功:Hi username! You've successfully authenticated
5). git clone 遠程git倉庫地址
工做區某些文件不控制版本,可以使用.gitignore文件進行忽略.
!(注意, .gitignore文件 是沒有名字的文件.)
規則:
以斜槓「/」開頭表示目錄; 以星號「*」通配多個字符; 以問號「?」通配單個字符 以方括號「[]」包含單個字符的匹配列表; 以歎號「!」表示不忽略(跟蹤)匹配到的文件或目錄;
配置文件是按行從上到下進行規則匹配的,意味着若是前面的規則匹配的範圍更大,則後面的規則將不會生效.