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