Git命令笔记

Ubuntu下git命令学习笔记


参考视频:视频教程

GIT 结构详解

#git 的三层结构
#working directory 工作区
#staging index 暂存区
#git directory(Repository)版本库

#git中文件四种状态
#1-> untracked 未被追踪 2->Modified 表示工作区修改了某个文件但还未曾被添加到暂存区
#3-> staged 表示把工作区修改的文件添加到了暂存区但是还没有提交到版本库
#4-> Committed 表示数据被安全的存储在本地库中

GIT 基础操作

git init #创建本地管理
git status #查看状态
git add filename #建立跟踪
git commit -m ‘message’ #提交
git config --list #查看配置信息
git log #查看提交信息
git reflog #查看历史记录
git add . #添加所有本地文件至暂存区
git commit --amend #撤销上次提交,并将暂存区的文件重新提交
git checkout --filename #切换检出,拉取暂存区的文件并替换工作区的文件,注意与git checkout branchname的区别

GIT 删除操作

git reset HEAD – 拉取最近一次提交的版本库中的filename到暂存区,该操作不影响工作区
git reset HEAD filename #撤销提交到暂存区的文件
git rm filename #同时删除暂存区和工作区文件
git rm --cache filename #删除暂存区中的文件,保留工作区的文件
git rm -f filename #强制删除本地和暂存区文件
git mv oldname newname #相当于mv oldname newname /git rm oldname /git add newname

GIT 分支操作

git branch branchname #创建分支
git branch -d branchname #删除分支
git checkout -b branchname #创建分支并切换至此分支
git checkout branchname #切换分支

git merge branchname #合并分支
git diff #查看工作区与暂存区之间的差异
git stash #暂存工作区的内容,便于分支切换
git stash list #查看暂存了哪些本地文件,其输出的可以作为恢复的参考
git stash apply stash@{id} #将暂存的文件拉到本地
git stash pop stash@{id} #将暂存的文件拉到本地之后,删除stash记录

GIT 远程仓库

git push http://gitxxxxx 远端branchname #推送
git clone http://gitxxxxx #克隆远端仓库到本地