一.Git的安裝和基本命令
Linux環(huán)境下安裝Git
$ git //查看是否安裝了Git
$ sudo apt-get install git //安裝Git命令
Windows下載Git 默認(rèn)安裝
git config --global user.name "yourname"
git config --global user.email ''your Email'
選擇一個(gè)文件夾作為Git的倉(cāng)庫(kù)Repository
git init //初始化倉(cāng)庫(kù)
git add <file> //提交文件,在暫存區(qū)
git commit -m <message> //將文件提交到本地倉(cāng)庫(kù),并添加進(jìn)行了什么操作
git status //查看當(dāng)前的提交狀態(tài)
git diff //查看當(dāng)前文件修改的內(nèi)容
git log //查看當(dāng)前的日志信息 可選參數(shù)<--pretty=oneline> 減少輸出信息
可選參數(shù) --graph 查看分支合并圖
git reflog //查看歷史命令的記錄
git reset --hard <commitId>/head ^( 有幾個(gè)^就回退幾個(gè)版本)head~200計(jì)數(shù) //回滾到提交的id版本
圖解Git
git checkout -- file //恢復(fù)文件內(nèi)容
二月帝、遠(yuǎn)程倉(cāng)庫(kù)
創(chuàng)建一個(gè)Github的賬號(hào)
-
創(chuàng)建ssh-key用命令行生成.ssh目錄,以下操作都默認(rèn)回車
ssh-keygen -t rsa -C "email"
- 關(guān)聯(lián)本地庫(kù)
git remote add origin git@github.com:ShiWeiDa1/HelloGitHub.git
//git remote add origin git@server-name:path/repo-name.git
在github的網(wǎng)站需要設(shè)置setting中ssh公鑰
git remote -v 查看詳細(xì)信息
git push -u origin master //第一次提交本地的倉(cāng)庫(kù)到遠(yuǎn)程需要加上-u參數(shù)
//failed to push some refs to 'git@github.com:<賬戶名稱>/HelloGitHub.git'
//本地倉(cāng)庫(kù)沒(méi)有readme.md
git pull --rebase origin master
- 克隆線上的項(xiàng)目
git clone git@server-name:path/repo-name.git
- 創(chuàng)建Dev的分支
git checkout -b dev //創(chuàng)建dev的分支并切換Dev的分支相當(dāng)于 下面兩句話
//git branch dev
//git checkout dev
- 合并其他分支
git merge <分支名稱> //將指定分支合并到當(dāng)前分支
//參數(shù) --no-ff采用普通模式合并(可以查看,合并分支歷史),默認(rèn)是fast forward
- 刪除分支
git branch -d <name> //刪除分支之前如果沒(méi)有合并,則會(huì)報(bào)錯(cuò),可以使用大寫的-D來(lái)強(qiáng)制刪除
- 儲(chǔ)存現(xiàn)場(chǎng)狀態(tài)
git stash //保存現(xiàn)場(chǎng)工作的狀態(tài)
git stash list //查看當(dāng)前保存的現(xiàn)場(chǎng)信息
- 恢復(fù)現(xiàn)場(chǎng)狀態(tài)
git stash apply stash@{id} //恢復(fù)指定的現(xiàn)場(chǎng)狀態(tài)
git stash drop //刪除現(xiàn)場(chǎng)狀態(tài)
git stash pop //在恢復(fù)現(xiàn)場(chǎng)狀態(tài)的同時(shí)刪除狀態(tài)記錄(常用)
- 本地分支和遠(yuǎn)程分支創(chuàng)建聯(lián)系
git branch --set-upstream-to <branch-name> to origin/<branch-name.
- 創(chuàng)建標(biāo)簽
git tag <name> //先切換到需要標(biāo)簽的分支
git tag //查看標(biāo)簽
git show <tagname> //查看標(biāo)簽的信息
git tag -d <tagname> //刪除標(biāo)簽
git push origin <tagname> //將標(biāo)簽推送到遠(yuǎn)程
git push orgin --tags //推送所有的標(biāo)簽
//刪除遠(yuǎn)程倉(cāng)庫(kù)標(biāo)簽語(yǔ)句,先要?jiǎng)h除本地標(biāo)簽
git tag -d <tagname>
git push origin:refs/tags/<tagname>
- 刪除已有的遠(yuǎn)程倉(cāng)庫(kù)
git remote rm origin //刪除當(dāng)前鏈接的遠(yuǎn)程庫(kù)
- 配置全局參數(shù)
git config --global color.ui true //修改命令行的顏色
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%C(bold blue)<%an>%Creset' --abbrev-commit" //格式化 git log+>用命令git lg
三蜻直、搭建屬于自己的Git服務(wù)器(linux服務(wù)器)
sudo apt-get install git //安裝Git的軟件
sudo adduser git
收集所有需要的id_rsa.pub 密鑰,導(dǎo)入/home/git/.ssh/authorized_keys文件里面
-
初始化Git倉(cāng)庫(kù)
假設(shè)目錄是/srv/sample.git
輸入命令行:sudo git init --bare sample.git
sudo chown -R git:git sample.git //修改擁有者為git用戶
-
禁用shell登錄:安全性
/etc/passwd
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
附錄: