git命令和基本用法整理
记录整理一下git的基本用法方便自己日后查看
1.git命令
- workspace:工作区
- staging area:暂存区/缓存区
- local repository:版本库或本地仓库
- remote repository:远程仓库
命令 | 说明 |
git init | 初始化仓库 |
git clone | 拷贝一份远程仓库,也就是下载一个项目 |
git add | 添加文件到仓库 |
git status | 查看仓库当前的状态,显示有变更的文件 |
git diff | 比较文件的不同,即暂存区和工作区的差异 |
git commit | 提交暂存区到本地仓库 |
git reset | 回退版本 |
git rm | 删除工作区文件 |
git mv | 移动或重命名工作区文件 |
git remote | 远程仓库操作 |
git fetch | 从远程获取代码库 |
git pull | 下载远程代码并合并 |
git push | 上传远程代码并合并 |
git log | 查看历史提交记录 |
git blame <file> | 以列表形式查看指定文件的历史修改记录 |
2.git上传本地项目(远程仓库为空)
git init //初始化 git add . //将文件提交到暂存区 git commit -m "提交信息" //将暂存区文件提交到仓库,引号内是注释 git remote add origin git@github.com:XXXX/XXXX.git //将本地仓库与远程仓库关联 git push -u origin master //把本地仓库内容推送到远程
3.git上传本地项目(远程仓库不为空)---远程仓库包含本地没有的文件
这个时候执行跟上面一样的指令就会报错,
这种情况可以在执行git push之前执行如下命令对代码进行合并:
git pull --rebase origin master
执行完之后可以发现本地仓库多了之前远程有但是本地没有的文件。
这个时候再执行git push -u origin master命令就可以将本地仓库内容推送到远程了
4.强制推送(!!!慎用)
在上面这个例子中,远程仓库有本地没有的文件时,我们先将本地仓库跟远程仓库合并之后再去推送。
如果想要推送,可以使用命令:
git push -u origin master -f
这个命令会强制用本地的代码去覆盖远程仓库的代码,也就是它会将远程原有的数据清空,所以开发中要谨慎使用这个指令。
5.关于本地仓库关联远程仓库--更换仓库地址
关联远程仓库:git remote add origin <你的项目地址>
查看是否关联成功:git remote -v
如上图所示,就是关联成功了
这个时候如果我想将项目上传到别的远程仓库,直接去执行git remote add origin <新的项目地址>,就会发现报错了
提示:error: remote origin already exists.
这个时候可以先删除与远程仓库的关联:git remote rm origin
然后再添加远程仓库:git remote add origin <新的项目地址>
如上图所示,我们就把项目关联的仓库地址从test.git改成了新的test1.git