Skip to content

git reset ​

  • git reset :回滚到某次提交。
  • git reset --soft:此次提交之后的修改会被退回到暂存区。
  • git reset --hard:此次提交之后的修改不做任何保留,git status 查看工作区是没有记录的。

回滚代码 ​

如果需要删除的 commit 是最新的,那么可以通过 git reset 命令将代码回滚到之前某次提交的状态,但一定要将现有的代码做好备份,否则回滚之后这些变动都会消失。具体操作如下:

scss
git log // 查询要回滚的 commit_id

git reset --hard commit_id // HEAD 就会指向此次的提交记录

git push origin HEAD --force // 强制推送到远端

误删恢复 ​

如果回滚代码之后发现复制错了 commit_id,或者误删了某次 commit 记录,也可以通过下方代码恢复:

bash
git relog // 复制要恢复操作的前面的 hash 值

git reset --hard hash // 将 hash 换成要恢复的历史记录的 hash 值

注意:删除中间某次提交时最好不要用 git reset 回退远程库,因为之后其他人提交代码时用 git pull 也会把自己的本地仓库回退到之前的版本,容易出现差错进而增加不必要的工作量。

基本命令 ​

设置用户 ​

git config --global user.name "Your Name"
git config --global user.email "email@example.com"

初始化一个Git仓库 ​

 git init

仓库当前的状态以及下一步的提示 ​

git status

添加文件到Git仓库 ​

  1. 使用命令git add <file>,注意,可反复多次使用,添加多个文件;

​ git add .添加当前目录下的所有文件;

  1. 使用命令git commit;

添加远程库 ​

git clone https://example.com/example.git

提交到远程库 ​

git push origin [branches]

删除远程库 ​

如果添加的时候地址写错了,或者就是想删除远程库,可以用git remote rm <name>命令。使用前,建议先用git remote -v查看远程库信息:

git remote -v
origin  git@github.com:michaelliao/learn-git.git (fetch)
origin  git@github.com:michaelliao/learn-git.git (push)

然后,根据名字删除,比如删除origin:

git remote rm origin

此处的“删除”其实是解除了本地和远程的绑定关系,并不是物理上删除了远程库。远程库本身并没有任何改动。要真正删除远程库,需要登录到GitHub,在后台页面找到删除按钮再删除。

分支 ​

  • 创建分支

    git branch [branch name]
  • 查看分支

    git branch
  • 切换分支

    git checkout [branch name]

​ 文件会直接从 master 分支复制过来

回滚代码 ​

如果需要删除的 commit 是最新的,那么可以通过 git reset 命令将代码回滚到之前某次提交的状态,但一定要将现有的代码做好备份,否则回滚之后这些变动都会消失。具体操作如下:

scss
1. git log // 查询要回滚的 commit_id



2. git reset --hard commit_id // HEAD 就会指向此次的提交记录



3. git push origin HEAD --force // 强制推送到远端

误删恢复 ​

如果回滚代码之后发现复制错了 commit_id,或者误删了某次 commit 记录,也可以通过下方代码恢复:

bash
git relog // 复制要恢复操作的前面的 hash 值

git reset --hard hash // 将 hash 换成要恢复的历史记录的 hash 值

注意:删除中间某次提交时最好不要用 git reset 回退远程库,因为之后其他人提交代码时用 git pull 也会把自己的本地仓库回退到之前的版本,容易出现差错进而增加不必要的工作量。

基本命令 ​

设置用户 ​

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

初始化一个Git仓库 ​

使用git init命令。

仓库当前的状态以及下一步的提示 ​

git status命令可以让我们时刻掌握仓库当前的状态

添加文件到Git仓库 ​

  1. 使用命令git add <file>,注意,可反复多次使用,添加多个文件;

​ git add .添加当前目录下的所有文件;

  1. 使用命令git commit;

添加远程库 ​

git clone https://example.com/example.git

提交到远程库 ​

git push origin [branches]

删除远程库 ​

如果添加的时候地址写错了,或者就是想删除远程库,可以用git remote rm <name>命令。使用前,建议先用git remote -v查看远程库信息:

$ git remote -v
origin  git@github.com:michaelliao/learn-git.git (fetch)
origin  git@github.com:michaelliao/learn-git.git (push)

然后,根据名字删除,比如删除origin:

$ git remote rm origin

此处的“删除”其实是解除了本地和远程的绑定关系,并不是物理上删除了远程库。远程库本身并没有任何改动。要真正删除远程库,需要登录到GitHub,在后台页面找到删除按钮再删除。

分支 ​

  • 创建分支

​ git branch [branch name]

  • 查看分支

​ git branch

  • 切换分支

​ git checkout [branch name]

​ 文件会直接从 master 分支复制过来

  • 创建并切换分支

    git checkout -b [branch name]

  • 删除分支

    git branch -d [branch name]

    强制删除

    git branch -D [branch name]

Released under the MIT License.