Git 入门(二)--- 经常使用指令和问题处理

关于Add与Commit

git add . 将全部修改提交到 stage 缓存区

git commit 将缓存区的更改提交到 本地仓库

那么,问题来了:
  • 如何取消commit,也就是撤销提交到本地仓库的操做?
  • 如何取消add,也就是撤销提交到缓存区的操做?
  • 如何取消更改,也就是说,修改了文件或者增长了文件或者删除了文件这时候怎么撤销?

放弃文件修改(修改了文件,未执行 git add 命令)

放弃单个文件的修改 git checkout xxx xxx是文件path

放弃全部文件更改 git checkout .

放弃文件的增长(新建了文件、为add

放弃单个文件的新增 rm xxx,其实就是cmd删除文件命令

放弃全部新增的文件 git clean xdf,删除全部新增的文件(不包括已经添加到缓存区的)。

撤销提交到缓存区(执行了git add .命令,未commit

撤销单个文件 git reset HEAD xxx,xxx是文件名

撤销全部文件 git reset HEAD .

撤销提交到本地仓库(即取消git commit

说明,执行了 git commit以后,至关于本地仓库已经更新了一个版本,就等待 push了,那么要撤销 commit也就是要回退版本,这种情形就是要将本地仓库回退 1个版本。
git reset --hard HEAD^ 
// --hard 是参数,^是上一版本,
// 也能够用~一、~2,表示回退多少个版本
--soft / --hard / --mixed 三个参数的说明:

--soft:暂存区的内容和本地已提交的内容所有恢复到 未暂存的状态,换言之, addcommit的内容所有都会变成未 add的状态。

--mixed:保留缓存区的内容,已提交的内容回到 缓存区。

--hard:缓存区的内容和已提交的内容都会被清空。(慎用!)

关于建立分支

git checkout -b xxx 建立并切换到 xxx分支,其实,这是在当前分支的基础上建立 xxx分支,并切换到 xxx分支。

也能够指定以其余分支为基础来建立: git checkout -b xxx master

涉及的问题:
若是当前所在分支有未`add`到缓存区或者未`commit`的更改时是不能切换分支的,
也就是说上述的建立并切换到分支是不会执行的。
所以,当前所在分支要`commit`后才能切换分支。

合并其余分支

git merge xxx 将xxx分支合并到当前分支。

关于删除分支

删除本地分支 git branch -D xxx 注意大写D

删除远程的分支 git push orgin -d xxx
相关文章
相关标签/搜索