git commands

git commands

初始化

  • git init

  • git clone

    添加

  • git add

    • -u

    • -A

    • -N

提交

  • git commit

    • -m

    • --amend

    • --no-edit

  • git push

    • -u

暂存

  • git stash

    • -K

    • pop

    • apply

    • drop

    • show -p

    • clear

commit 操作

查看

  • git show

    • --stat

  • git log

    • --pretty=oneline

    • [<base branch>] ^<branch>

  • git reflog

rebase

  • git rebase

    • -i

    • --continue

    • --abort

cherry-pick

  • git cherry-pick

    • --continue

    • --abort

回退

  • git reset

    • HEAD

    • --soft

    • --hard

  • git revert

分支

  • git branch

    • -a

    • <branch>

    • --set-upstream origin/<branch>

    • --set-upstream-to=origin/<branch>

  • git pull

    • -r

  • git merge

    • --no-ff

  • git checkout

    • -b <branch> [<remote-branch>]

    • -f

    • -- <file name>

    • <branch|commit> -- <file name>

创建仓库

git init

添加文件

git add 文件名(可用空格隔开) git add -u 添加所有workspace的文件 git add -A 添加所有文件

commit文件

git commit -m "描述"

  • 禁用fast-faword ,使用 git merge --no-ff -m "description" branch-name

    • fast-faword : 分支提交了修改,master没有提交,master合并分支,直接合并分支的修改,则fast-faward

显示仓库文件状态

git status

显示修改的内容

git diff 文件名

版本回退

  • git reset --hard HEAD^

  • git reset --hard HEAD~100

  • git reset --hard commit id

  • head代表当前版本,head^ 代表上个版本,head^^ 代表上两个版本,也可以用~加上数字表示之前的版本

  • commit id代表每个版本的id号

  • HEAD 是当前提交记录的符号名称 -- 其实就是你正在其基础进行工作的提交记录

  • ~指返回几代

  • ^指哪一个父提交

rebase文件

git rebase <branch> 移动至指定提交上游

  • rebase 就是取出当前head的提交记录,"复制"它们,然后把在别的某个地方放下来

  • rebase --continue 执行add添加修改后的冲突文件,然后置于顶部

  • rebase --skip

      Restart the rebasing process by skipping the current patch.
  • rebase --abort

日志记录

git log

  • --prety==oneline 命令代表简要显示,即版本号和描述

  • --pretty=format:'%h %Cgreen [%cn]: %C(cyan) %s' 按照指定格式渲染

命令记录

git reflog

丢弃修改

git checkout -- <file>

  • --命令表示丢弃修改,不添加的话,checkout表示切换分支

  • 让这个文件回到最近一次 git commit 或 git add 时的状态

    • 如果修改后没有添加到暂存区,则回退到版本库

    • 如果放到暂存区后,又做了修改,则回退到暂存区内的状态

  • git reset HEAD <file> 把暂存区的修改撤销掉(unstage),重新放回工作区,即取消本次add操作

删除文件

git rm 文件删除后可用版本回退,从版本库中获取到最新版本的文件

远程仓库

添加远程库

git remote add origin git@server-name:path/repo-name.git

推送至远程库

git push -u origin master

  • 使用-u命令使本地master和远程master分支关联

  • git push origin master

克隆远程仓库

git clone

分支管理

查看分支

git branch

创建分支

git branch <name> -f 直接让分支指向另一个提交 eg : git branch -f master HEAD~3 强制指向某一个提交 还可以指定在某个分支的某个提交上新建

切换分支 git checkout <name> 切换到指定的修改版本,同时把head指向切换的版本

创建并切换 git checkout -b <name>

合并至当前分支 git merge <name>

删除分支 git branch -d <name>

查看分支合并情况 git log --graph

其他

存储工作区

git stash

参看工作区存储情况re

git stash list

恢复工作区

git stach apply 恢复而不删除存储 git stash pop 恢复并且删除存储

删除工作区

git stash clear git stash drop id

Last updated

Was this helpful?