美文网首页
git简单命令手册

git简单命令手册

作者: 流芳不待人 | 来源:发表于2018-04-09 19:51 被阅读23次

常用的git命令整理

基本操作

#创建无代码仓库
git init --bare /path/to/repos.git

#设置提交人email和name
git config --global user.email "xxx"
git config --global user.name "xxx"

#下载代码
git clone user@host:/path/to/repos.git
# svn checkout

#切换分支
git checkout develop
# svn switch 'https://code.com/project/branches/dev'

#创建并切换分支
git checkout -b dev2 origin/dev2
# 将会在本地创建新分支dev2,并关联到远程仓库origin的dev2上,然后自动切到dev2上。

#提交修改:分两步
git add filename
git add -A
git add .
git commit
# git commit -a相当于add+commit 相当于 svn commit,但只是提交到本地仓库

与远程仓库的交互

#远程仓库管理
git remote -v #查看
git remote rm origin #删除与远程仓库关联
git remote add origin git@127.0.0.1:/data0/gitRepos/anxin.git
#添加与远程仓库关联
# origin user@host:/path/to/repos.git

#提交到远程仓库,相当于svn commit到远程仓库
git push origin dev:dev
git push origin master:master

#从远程仓库更新本地,相当于svn update
git pull --rebase origin dev:dev
git pull --rebase

rebase(变基)

  • git pull 相当于git fetch + git merge
  • git pull --rebase 相当于git getch + git rebase

使用rebase可以自由控制合并的进度。

rebase的过程如果遇到冲突,会自动停止。通过编辑代码解决冲突的文件。修改完成后通过git add添加到stage

git add filename.php

然后执行continue命令继续rebase

git rebase --continue

如果实在无法解决冲突,使用abort回退到rebase开始前的状态

git rebase --abort

为git pull默认追加rebase项

git config branch.autosetuprebase always #仅修改本仓库设置
git config --global branch.autosetuprebase always #修改全局设置

为仓库指定上游仓库

git push的时候可带-u参数。如果当前分支与多个主机存在追踪关系,那么这个时候-u选项会指定一个默认主机

git push -u origin dev:dev
#-u相当于执行以下命令
git branch --set-upstream-to=origin/dev dev

-u或者 --set-upstream-to, 每个分支仅需要执行一次。
这样后面就可以不加任何参数使用git pushgit pull

撤销和回滚

#未执行git add时取消文件的修改
git checkout -- filename.php
#相当于svn revert

#已执行git add,未commit的文件,取消add
git reset filename.php
#类似svn revert

#已执行git add 需要取消文件的修改
git reset filename.php
git checkout filename.php

#将文件还原到某版本 (建议不要省略'--',注意前后有空格)
git log filename.php
git checkout <commitID> -- filename.php

#已commit的文件,要撤销上次提交
git reset HEAD~1
git reset <commitID> 撤销到某次提交之后的提交。但本地文件仍保持不变
git reset --hard HEAD~1
#撤销到某次提交之后的提交
#并且!本地源码也被还原!不可恢复!

#checkout和reset的区别:
#   checkout修改的是文件内容
#   reset撤销的是提交历史
#已经push到远程仓库的commit不允许reset!!

#git revert 生成一个新的提交类撤销某次提交,只能整个版本revert,不支持单个文件
git revert <commitID>

修改上次提交

#修改最后一次提交的注释,如果push则无法修改
git commit --amend

#修改最后一次提交者:修改user和email后amend
git config --global user.name='ziliang'
git commit --amend --reset-author

#修改更早的提交
git rebase -i HEAD~3 #当前版本的导数第三次
#再使用git commit --amend

日志

#查看某条提交更新内容
git show <commitID>

#查看最近2次更新内容
git log -p -2

#查看某文件更新内容
git log -p filename.php

设置别名日志美化

#每次展示10条
git config --global alias.ll "log -10 --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

git ll

#每次展示所有日志
git config --global alias.la "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

git la

原文链接

相关文章

  • git简单命令手册

    常用的git命令整理 基本操作 与远程仓库的交互 rebase(变基) git pull 相当于git fetch...

  • Git的常用命令

    一、Git简易操作 git操作手册(命令行git bash) 最简单易懂的git操作廖雪峰git教程Pro Git...

  • Git 命令

    参考: Git命令参考手册(文本版) Git 参考手册

  • GitHub 小白手册

    GitHub 小白手册 本手册用于描述github的简单使用,可以利用git命令来下载github感兴趣的代码。 ...

  • Git常用命令图解

    搜集来的常用的git命令表格,总有一张适合你 git命令速查表.jpg git命令参考手册.png Git命令全集...

  • git 命令

    git命令手册 分支 合并 远程仓库

  • git命令速查

    Git命令参考手册(文本版)

  • Git book

    目录 git community book git入门 git笔记 git 用法 git安装使用手册 git命令大...

  • Git: 版本控制(1)

    git help git 显示常用命令,简短解释git -a 或 git help -g 显示git手册git a...

  • Git [提交记录查看、提交、变基](I)

    Git 简易指南Git 参考手册Pro Git(中文版)Git教程 廖雪峰 查看提交记录 终端命令git log:...

网友评论

      本文标题:git简单命令手册

      本文链接:https://www.haomeiwen.com/subject/iyqwhftx.html