查看状态
git status
查看修改
git diff xxx.cpp 查看某一文件具体修改的内容
删除修改内容
git checkout xxx.cpp 删除该文件修改的内容
git checkout . 删除所有文件的修改
添加文件
git add xxx.cpp 添加某个文件
git add . 添加全部修改文件
撤销添加的文件
git reset HEAD xxx.cpp 把某一个add后文件撤销至未add的状态
git reset HEAD 撤销所有add的文件
提交文件
git commit -m "该笔提交的标题"
推送文件
git push origin 分支名称
查看提交记录
git log -3 (数字3是表示看最近到最远的3条)
回退
git reset --hard HEAD^ (回退到上个版本)
git reset --hard xxx (回退到某个版本,xx写版本号,git log里看到的commit后面的)
删除文件
第一步:git rm -r --cached 文件夹名 (删除某一个文件夹)
git rm -r --cached 文件名 (删除某一个文件)
第二步:git commit -m "删除某一文件(夹)" (提交)
第三步:git push origin 分支名称
克隆项目
git clone <仓库URL> (<仓库URL>在gitlab或github上复制)
补充:git clone -b <分支名> --single-branch <仓库URL> (仅克隆某一分支)
git clone -b <分支名> --single-branch <仓库URL> (下载整个仓库,初始工作在指定分支)
创建、切换、删除分支
git branch 分支名 (创建分支)
git checkout -b 分支名 (创建并切换到该分支)
git checkout 分支名 (切换分支)
git switch -c 分支名 (创建并切换到该分支)
git switch 分支名 (切换分支)
删除、查看分支
git branch (查看当前分支,当前分支前面会标一个*)
git branch -d 分支名 (删除分支)
合并分支
git merge 分支名 (合并某分支到当前分支)
git merge –abort (中止合并)
注:部分受限制分支需要提merge请求
暂存修改
git stash (当前工作现场“储藏”起来)
git stash save "保存修改" (保存更改并附带信息)
git stash list (查看存储位置)
git stash pop (恢复第一笔修改并删除第一笔缓存)
git stash apply stash@{n} (恢复指定缓存,n为缓存的具体数字)
git stash drop stash@{n} (删除栈中的指定的缓存)
git stash clear (清空缓存)
拉取代码
git pull origin 分支名
更新代码
git fetch origin 分支名 (获取分支的最新更改)
git submodule update --recursive (递归更新子模块)