准备工作
1、首先要下载git,git官网下载比较缓慢,这里提供一个淘宝镜像的网站
https://npm.taobao.org/mirrors/git-for-windows/
里边有各种版本的git,选择与官网一致的版本下载
新手安装的时候直接下一步直至安装完成即可
2、下载并安装完成后,可以在开始菜单中看到以下三种git形态
① Git GUI 是 git的图形用户界面
② Git CMD 是windows系统上的命令行工具,你可以使用cmd工具来运行git命令
③ Git Bash 是基于CMD的,并且在原有CMD基础上增添一些新的命令和功能
这里我们建议使用 Git Bash 来运行git命令
GIT入门
1、建立门户
不论你用什么软件你都要有一个账号密码,否则你只能浏览而不能做一些相关操作
所以我们首先要先让别人知道我们是谁怎么联系(类似于账号 / 自报家门)
git config --global user.name xxx (你叫什么名字)
git config --global user.email xxx (你的邮箱)
git config --list (如果名字和邮箱都设置好,可以用此命令查看已经设置好的信息)
2、创建本地仓库
门户已经建立好了,那么接下来,我们需要一个属于自己的本地代码仓库,来存放本地代码或者从远程仓库拉下来的代码。
先进入到你想要建立仓库的位置然后键入以下命令
git init (建立仓库)
成功后会出现 inialized empty Git repository in d://文件夹名/.git
做完这一步,预示着你的本地仓库(版本库)也建立好了
常用命令:
cd deskTop :切换到桌面目录
cd d: :切换到d盘目录
cd :切换工作目录
cd.. :返回上层目录
ls / dir :列出指定目录的内容(两者功能基本相同,建议使用ls)
mkdir :创建一个或多个文件夹目录
rmdir :删除目录
cd :到你创建好的空文件夹 (从命令行进入你所要建仓的文件夹)
3、检查仓库状态(熟练后可省略)
在你对你的仓库有所操作之前需要先查看一下仓库状态
git status (检查仓库状态)
这时候一般会提示你三种状态
① uncommited :(需要提交的文件) 说明你有要修改的但是没有提交的文件
② untracked : (未追踪的文件)说明你有新增加的文件
③ nothing to commit : 说明你没有要提交的文件
4、添加改动文件至暂存区
如果 git status 之后出现 untracked 或者 uncommited 的提示,那么说明你有变动的文件
那么我们需要把这些变动的文件先添加到暂存区 (以 index.txt为例)
ps:增加,修改,删除的操作 都属于变动
git add index.txt (将index.txt文件添加到暂存区)
git add . (添加当前目录下所有的变动文件到暂存区)
5、将暂存区的文件提交至本地仓库的版本管理中(版本库管理)
git commit -m "对修改文件的注释" (将暂存区的文件提交到版本库)
-m 表示注释,提交时候的说明 一定要有
提交后可再次输入 git status 命令查看是否提交成功
6、将本地改动推送到远程仓库
git push <远程仓库地址> <本地仓库分支名称>
将本地仓库分支推送到远程仓库中与其有追踪关系的远程分支中(通常两者名称相同)
如果没有与本地仓库分支存在追踪关系或者同名的远程分支,那么远程仓库将会创建一个相同名称的分支与之对应
GIT进阶
1、关联远程仓库 / 给远程仓库起别名
git remote add xxx(别名) xxxxxxx(远程仓库地址)
git remote -v 查看已经关联的远程仓库
关联远程仓库之后推送本地分支时就可以用 “别名” 来替代冗长的远程仓库地址(简化GIT入门第6步)
例:git push origin xxxx(当前本地分支)
2、删除已关联远程仓库 / 删除远程仓库别名
git remote remove xxx(远程仓库别名) 删除已关联的远程仓库
3、拉取远程分支并合并当前分支
git pull <远程仓库地址> <远程分支名称>
一般在 git push 推送 之前需要先 git pull 一下,确保分支为当前最新的代码
4、分支操作
git branch 查看分支
git branch -a 查看远程和本地所有分支
git branch xxx 创建xxx分支(内容与当前分支保持一致)
git checkout xxx(分支名) 切换至xxx分支
git checkout -b xxx(分支名) 创建并切换至xxx分支
git branch -d xxx(分支名) 删除xxx分支
一般我们都需要创建自己的分支,在自己的分支进行修改,最后再合并到master分支上
禁止在master分支上直接进行开发工作
分支修改内容完成或者未完成,此时如果需要切换分支
切换分支之前要把内容都提交到该分支上,这样能保证工作区的干净
也不影响新的分支,切换回来后还能继续该分支的修改工作
5、合并分支
git merge xxx(需要合并到当前分支上的其他分支名)
该命令可以将 xxx 分支合并至 当前分支,所以合并前请先确定当前分支是否正确
6、取消合并
注意: 合并代码没有add时可使用该命令取消merge,如果代码已经add,则需要先回退操作之后再取消merge
git merge --abort
7、丢弃工作区内容
注意: 该操作会删除掉所有本地工作区修改的所有内容并回到未修改前的状态,请确保自己是否需要该操作
git checkout -f 丢弃工作区内容
GIT团队合作
方式一:克隆
1、克隆远程仓库到当前目录,(连同文件夹一起克隆)文件夹名称与远程仓库文件夹名称相同
git clone xxx(远程仓库地址)
2、查看远程分支
克隆成功后,本地仓库只有master一个分支与远程关联,master为主分支,一般我们不会再该分支上开发,所以我们要切换到开发分支上,此时我们需要查看远程的分支
git branch -a 查看远程和本地所有的分支
:q 退出
3、切换到本地的开发分支
git checkout dev
如果远程分支有dev分支,那么该操作会在本地生成一个与之关联的dev分支 并且切换至本地dev分支
方式二: 拉取
1、创建仓库
git init 创建仓库
生成本地master主分支 (此时分支内容为空)
2、关联远程仓库
git remote add origin xxx 与远程仓库关联,并起别名为origin
git remote -v 查看关联的远程仓库
3、 拉取远程仓库内容并与本地master产生关联
git fetch orign 拉取远程仓库分支内容
git pull origin master 获取远程仓库master分支内容并与本地master建立关联关系
5、切换远程分支并创建与之关联的本地分支
git branch -a 查看远程和本地所有的分支
git checkout xxx 切换至xxx分支(创建本地分支并与远程仓库分支产生关联)
GIT 技能补充
1、远程仓库地址更换,本地修改git源
查看当前git源:
git remote -v :
origin http://xx.xx.xx.xx:8090/webapp.git (fetch)
origin http://xx.xx.xx.xx:8090/webapp.git (push)
修改git源:
git remote set-url origin http://xx.xx.xx.xx:8090/bgms-web.git 修改git源
git remote -v : 查看git源(修改成功)
origin http://xx.xx.xx.xx:8090/bgms-web.git (fetch)
origin http://xx.xx.xx.xx:8090/bgms-web.git (push)