1、git的工作流程
-
使用git clone资源放置自己工作目录 --> 对本地克隆资源进行修改 --> 有他人修改时可以更新资源 --> 在提交前查看修改 --> 提交到远程分支
-
修改完成后,如果发现错误,可以撤回并再次修改进行提交
-
基本区域概念
工作区:就是你在电脑里能看到的目录。
暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。
2、git的基础配置
-
用户信息配置
git config --global user.name "用户名" git config --global user.email "邮箱"
-
ssh的生成
- 输入 ssh-keygen -t rsa -C "你的邮箱地址" 三次回车之后就可以生成密钥对
- 输入 cat ~/.ssh/id_rsa.pub 查看你的 public key(公钥)
- 从 ssh-ras(包含)到最后面的邮箱地址(包含)复制下来粘贴至添加密钥处,保存即可
-
配置
$ git config --list //查看当前已有配置 $ git config -e --global //编辑git配置文件
3.git常用命令
-
创建仓库命令
$ git init //初始化仓库 $ git clone //拷贝远程项目
-
提交与修改
$ git add //添加文件到暂存区;[ .]:暂存全部;[flie]:选择性暂存 $ git status //查看当前状态,显示所有变更的文件 $ git diff //比较暂存区与工作区的差异 $ git commit -m '备注' //提交暂存到本地仓库 $ git reset //回退版本 $ git rm //删除工作去文件 $ git mv [file-original] [file-renamed] //移动或重命名工作区文件
-
提交日志
$ git log //查看历史提交记录 $ git log --stat //查看commit历史文件 $ git blame //以列表的形式查看指定文件的历史修改记录 $ git reset --hard [日志] //回退
-
远程操作
$ git remote //远程仓库操作 $ git fetch //从远程获取代码并合并 $ git pull //下载远程代码并合并 $ git push //上传远程代码并合并
-
分支管理
$ git branch [分支名称] //创建分支 $ git branch -d //删除分支 $ git branch -r //查看所有远程分支 $ git branch -a //查看本地和远程所有分支 $ git branch -v //查看分支,并且展示最有一次提交的信息 $ git branch -b [分支名称] //新建分支并切换到该分支 $ git checkout [分支名称] //切换分支命令 $ git checkout --track [分支名称] //新建一个与远程分支同名分支并进行切换 $ git branch --set-upstream [分支名称] [远程分支名称]//在现有分支与指定的远程分支之间建立关系 $ git merge //合并分支 $ git merge dev -m "xxx" // 合并dev分支到主干分支(当前分支必须是master分支) $ git merge master -m "xxx" // 合并master分支到dev分支(当前分支是dev分支) $ git push origin --delete [分支名称] //删除远程分支
-
撤销操作
$ git checkout [文件名] //恢复暂存区的指定文件到工作区 $ git checkout [commit] [文件名] //恢复某个commit的指定文件到暂存区和工作区 $ git checkout . //恢复暂存区的所有文件到工作区 $ git reset [文件名] //重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
4.代码提交思路
由于多人同时进行开发,有时候会同时修改一个文件,或者多分支开发,合并的时候就很容易引发冲突,在最后git push前进行git pull。
tips:$ git diff --shortstat "@{0 day ago}" //显示今天你写了多少行代码