-
拉取指定commit id版本的代码
● git reset --hard [commit-number]
● git pull / git clone -
在已有项目基础上提交修改后的代码
● git pull 更新项目
● git add “待添加的文件” 到本地仓库
● git status 查看待加文件的状态
● git commit --amend 撤销上一次提交 并将暂存区文件重新提交
● git push origin HEAD:refs/for/master 将代码提交远程仓库 -
Git三大分区
Git 本地数据管理,大概可以分为三个区,工作区,暂存区和版本库。
● 工作区(Working Directory) 是直接编辑的地方,肉眼可见,直接操作。
● 暂存区(Stage 或 Index) 数据暂时存放的区域。
● 版本库(commit History) 存放已经提交的数据,push 的时候,就是把这个区的数据 push 到远程git仓库了。
下图各区之间的数据传递流程示意图。
-
Git比较命令
● git diff 工作区 vs 暂存区
● git diff HEAD 工作区 vs 版本库
● git diff --cached 暂存区 vs 版本库 -
工作区 <- 暂存区
● git checkout – # 暂存区文件内容覆盖工作区文件内容 -
暂存区 <- 本地仓库
● git reset HEAD # 本地仓库文件内容覆盖暂存区文件内容 -
本地仓库 <- 远程仓库
● git clone <git_url> # 克隆远程仓库
● git fetch upstream master # 拉取远程代码到本地但不应用在当前分支
● git pull upstream master # 拉取远程代码到本地但应用在当前分支
● git pull --rebase upstream master # 如果平时使用rebase合并代码则加上 -
工作区 <- 本地仓库
● git reset # 本地仓库覆盖到工作区(保存回退文件内容修改)
● git reset --mixed # 本地仓库覆盖到工作区(保存回退文件内容修改)
● git reset --soft # 本地仓库覆盖到工作区(保留修改并加到暂存区)
● git reset --hard # 本地仓库覆盖到工作区(不保留修改直接删除掉) -
git log 查看提交历
-
删除远程仓库文件
● 预览将要删除的文件
git rm -r -n --cached 文件/文件夹名称
加上 -n 这个参数,执行命令时,是不会删除任何文件,而是展示此命令要删除的文件列表预览。
● 确定无误后删除文件
git rm -r --cached 文件/文件夹名称
● 提交到本地并推送到远程服务器
git commit -m “提交说明”
git push origin master