拷远程分支git clone -b 分支名 git地址 !!!!!!
<1>输入git config --global user.name "root"
<2>输入git config --global user.email "邮箱" --我这里没有输入邮箱
<3>输入git init
<4>输入git remote add origin http://192.168.199.102/root/yangzr.git
<5>输入git add .
<6>输入git commit -m "初始化"
<7>输入git push -u origin master 将代码推送到gitlab端
git restore --staged file 取消add的文件缓存
git restore file 放弃工作目录中的更改!! git checkout -- <filename>”撤销工作区的修改即可。
git add -A表示添加所有内容, git add . 表示添加新文件和编辑过的文件不包括删除的文件; git add -u s添加编辑或者删除的文件,不包括新添加的文件
git rm –cached “文件路径”,不删除物理文件,仅将该文件从缓存中删除
git add后的文件就算删除物理路径文件,也会存在缓存区中,提交上去
git reset --soft HEAD^ 如果进行两次的commit,想要都撤回,可以使用HEAD~2
--soft不删除工作空间的改动代码 ,撤销commit,不撤销git add file
--hard删除工作空间的改动代码,撤销commit且撤销add
回滚到指定版本
git log 看commitid
git reset id
git reset --hard HEAD
这个命令会将HEAD指向的提交作为当前工作区的状态,同时清除所有工作区和暂存区的更改。
git clean -fd
这个命令会删除工作区中所有未跟踪的文件和目录
切换分支保存未提交代码
git stash暂存 get stash pop返回到工作区
git checkout 切换分支工作区没提交的会更新过去
show diff /compare with current 其他分支和当前分支比较分支的差异 合并某个文件
git cherry-pick xxx 合并指定某个提交到此分支
重新输入密码 清楚凭证
git reset 将当前分支的 HEAD 指针指向指定的提交
--mixed (默认):将 HEAD 指针和暂存区都回退到指定提交,但不改变工作区的内容。
--soft 仅将 HEAD 指针回退到指定提交,不改变暂存区和工作区的内容。
--hard 将 HEAD 指针、暂存区和工作区都回退到指定提交,会丢失最新的代码修改!!!!,慎用。
git revert id将指定提交的修改反向应用到当前分支上/而是创建一个新的提交来撤销之前的修改。 安全 当前master会丢失代码
git checkout 命令可以将当前分支的 HEAD 指针指向指定的提交,并将工作区的内容替换成指定提交的内容。但会直接覆盖工作区的内容
checkout version 工作区代码直接更新到此 也可切换分支
git revert某个提交 会丢失此代码 可以在反revert找回代码
cherry-pick 合并分支中某一个具体的提交
checkout 导致新的分离指针 detached HEAD 是因为HEAD回到历史commit,然后对文件进行修改导致的,产生了一个没有名称的分支
要么新拉分支修改代码 然后在合并到原来分支
回滚到某个版本 或者指定版本new一个新分支 最好备份!!!
修改文件后 然后强制推送 git push origin xx --force 会丢失这个版本之后的所有提交!!!!!