亲爱的孟良,希望你不要再忘了,一共就这么几个命令啊
工作区和暂存区
- 工作区
肉眼可见的文件区就是工作区
- 暂存区
.git这个隐藏目录就是git的版本库,里面有一个stage,就是暂存区,还有主动创建的分支master,和指向master的指针HEAD,😂还挺形象的,好玄乎的感觉
创建版本库
也就是初始化, 备忘一个terminal命令'pwd',显示当前目录的路径
git init
添加文件到版本库
git add <path or file> // 就是添加到暂存区stage啦
git commit -m '提交说明' // 就是把暂存区的内容提交到当前分支了
git add 【参数】
详解
- git add . 将修改过的文件和未跟踪新添加的文件添加到暂存区,不包括删除
- git add -u u就是update, 表示将已跟踪的文件中的修改和删除的文件添加到暂存区,不包括新增的文件
- git add -a a就是all,表示将所有的已跟踪的文件的修改与删除,和新增的问跟踪的文件全部都添加到暂存区
- git add -i 交互?还不是很懂
查看仓库的当前状态
git status
//所谓当前状态比如哪些文件被修改了等
修改详情
git diff <filename>
查看版本迭代的详情(也就是提交的详情,包括时间、提交的人、还有commit的说明)
git log
git log --pretty=oneline //这样只输出版本号和commit信息
版本回退
HEAD代表当前版本
git reset --hard HEAD^ //HEAD^ 代表上一个版本, HEAD^^ 代表上上个版本,如果太多的话,HEAD~10 第前10个版本
版本回退了之后又回退
a是最新的版本,退到了a的上一个版本,然后又反悔了,又想回到a版本
//当然,前提是你得知道a的版本号
git reset --hard a的版本号
//好吧,不知道a的版本号
git reflog //此命令记录了你每一次的命令,所以可以看到a的版本号
撤销修改
git checkout -- fileName
添加远程仓库
也就是如何将本地的和远程的关联起来或者说如何把本地的添加到远程
- 本地创建了git仓库
- 远程创建一个仓库
git remote add origin git@github.com:github账户名/仓库名
-
git push -u origin master
//远程库的名字默认为origin,所以就是把master分支上的内容推送到远程库去,第一次的时候加上-u,这样git不但会把本地的master分支内容推送到远程新的master分支,还会把本地的master和远程的master分支关联起来,之后的推送就可以不用加-u了
克隆
git clone git@github.com:git账户名/仓库名(eg: test.git)
分支分支分支!!!!
重点就是创建分支and合并分支
创建分支
git checkout -b 分支名(比如: dev_meng_test)
git branch //查看分支
git checkout master //切换分支
合并分支
git merge dev //假如当前分支是master, 那么就是把dev分支上的内容合并到master分支上,master分支的内容被改变
删除分支
git branch -d 分支名
查看远程仓库信息
git remote
实际的工作场景
- 每个人一个分支
- 每次提交前,先拉取代码
git pull
,pull 报错(看见error)先add -
git add .
添加到暂存区 git commit -m 'msg'
git push origin 分支名
常见问题
所谓的落后超前,指的是远程和本地某分支不同步,所以落后的话就拉。超前的话就push
落后又超前
先立个flag,遇到再来填坑
网友评论