Git 常用命令

查看、添加、提交、删除、找回,重置修改文件

  • 显示command的help

    git help command

  • 显示提交内容

    git show

  • 显示某次提交的内容

    git show $id

  • 抛弃工作区某个文件的修改

    git co – filename

  • 抛弃工作区所以文件的修改

    git co .

  • 将工作文件的修改提交到本地暂存区

    git add filename

  • 将所有修改过的工作文件提交暂存区

    git add .

  • 从版本库中删除文件

    git rm filename

  • 从版本库中删除文件,但不删除文件

    git rm filename –cached

  • 从暂存区恢复到工作文件

    git reset filename

  • 从暂存区恢复所以文件到工作文件

    git reset – .

  • 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改

    git reset –hard

  • 将git add, git rm和git ci等操作都合并在一起

    git ci -am “some comments”

  • 修改最后一次提交记录

    git ci –amend

    • 恢复某次提交的状态,恢复动作本身也创建次提交对象

    git revert

查看文件 diff

  • 比较当前文件和暂存区文件差异

    git diff filename

  • 比较两次提交之间的差异

    git diff id1 id2

  • 在两个分支之间比较差异

    git diff branch1 branch2

  • 比较暂存区和版本库差异

    git diff –staged

  • 比较暂存区和版本库差异

    git diff –cached

  • 仅仅比较统计信息

    git diff –stat

查看提交记录 log

  • 查看该文件每次提交记录

    git log filename

  • 查看每次详细修改内容的diff

    git log -p filename

  • 查看最近两次详细修改内容的diff

    git log -p -2

  • 查看提交统计信息

    git log –stat

Git 本地分支管理

查看、切换、创建和删除分支

  • 查看远程分支

    git branch -r

  • 创建新的分支

    git branch new_branch

  • 查看各个分支最后提交信息

    git branch -v

  • 查看已经被合并到当前分支的分支

    git branch –merged

  • 查看尚未被合并到当前分支的分支

    git branch –no-merged

  • 切换到某个分支

    git checkout branch

  • 创建新的分支,并且切换过去

    git checkout -b new_branch

  • 基于一个分支创建一个新的分支

    git checkout -b new_branch_name branch_name

  • 把某次历史提交记录checkout出来,但无分支信息,切换到其他分支会自动删除

    git checkout $id

  • 把某次历史提交记录checkout出来,创建成一个分支

    git checkout $id -b new_branch

  • 删除某个分支

    git branch -d branch

  • 强制删除某个分支 (未被合并的分支被删除的时候需要强制)

    git branch -D branch

分支合并和rebase

  • 将branch分支合并到当前分支

    git merge branch

  • 不要Fast-Foward合并,这样可以生成merge提交

    git merge origin/master –no-ff

  • 将master rebase到branch

    git rebase master branch

Git补丁管理(方便在多台机器上开发同步时用)

  • 生成补丁

    git diff > ../sync.patch

  • 打补丁

    git apply ../sync.patch

  • 测试补丁能否成功

    git apply –check ../sync.patch

Git暂存管理

  • 暂存

    git stash

  • 列出所有stash

    git stash list

  • 恢复暂存的内容

    git stash apply

  • 删除暂存区

    git stash drop

Git远程分支管理

  • 抓取远程仓库所有分支更新并合并到本地

    git pull

  • 抓取远程仓库所有分支更新并合并到本地,不要快进合并

    git pull –no-ff

  • 抓取远程仓库更新

    git fetch origin

  • 将远程主分支合并到本地当前分支

    git merge origin/master

  • 跟踪某个远程分支创建相应的本地分支

    git checkout –track origin/branch

  • 基于远程分支创建本地分支,功能同上

    git checkout -b origin/

  • 推送所有分支

    git push

  • 将本地主分支推到远程主分支

    git push origin master

  • 将本地主分支推到远程(如无远程主分支则创建,用于初始化远程仓库)

    git push -u origin master

  • 创建远程分支, origin是远程仓库名

    git push origin local_branch

  • 创建远程分支

    git push origin :

  • 先删除本地分支(git br -d branch),然后再push删除远程分支

    git push origin :remote_branch

Git远程仓库管理

  • 查看远程服务器地址和仓库名称

    git remote -v

  • 查看远程服务器仓库状态

    git remote show origin

  • 添加远程仓库地址

    git remote add origin git@ github:robbin/robbin_site.git

  • 设置远程仓库地址(用于修改远程仓库地址)

    git remote set-url origin git@ github.com:robbin/robbin_site.git

  • 删除远程仓库

    git remote rm repository

创建远程仓库

  • 用带版本的项目创建纯版本仓库

    git clone –bare robbin_site robbin_site.git

  • 将纯仓库上传到服务器上

    scp -r my_project.git git@ git.csdn.net:~

  • 在服务器创建纯仓库

    mkdir robbin_site.git && cd robbin_site.git && git –bare init

  • 设置远程仓库地址

    git remote add origin git@ github.com:robbin/robbin_site.git

  • 客户端首次提交

    git push -u origin master

  • 首次将本地develop分支提交到远程develop分支,并且track

    git push -u origin develop

  • 设置远程仓库的HEAD指向master分支

    git remote set-head origin master

  • 也可以命令设置跟踪远程库和本地库

git branch –set-upstream master origin/master

git branch –set-upstream develop origin/develop

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值