`
dhongwu
  • 浏览: 8065 次
社区版块
存档分类
最新评论

Git 常用命令

    博客分类:
  • git
git 
阅读更多
公司用GIT管理代码,关于Git的教程很多,这里只是记录下一些常用命令的用法,以防日后忘记。

------------------------------------------------------------------------

git clone 从远程git服务器拷贝某个repository 到本地上,并将远程服务器命名为origin;

git fetch origin XX:YY  XX为origin上某个分支,将其映射到本地YY分支(如果YY 为空则默认是与XX名字相同的分支)。如 git fetch origin wu_d-catchup-develop,就是将服务器上的wu_d-catchup-develop分支映射到本地上,并跳转到该分支

git merge XX XX 为本地某个分支,将XX分支合并到当前所在分支

git pull origin XX XX 为服务器某个分支。功能相当于先fetch XX 再与当前本地所在分支合并

git push origin XX:YY  XX 为本地分支,YY为远端分支。将XX 合并到YY上。若 XX为空,则意为删除YY分支。

git branch 显示当前本地所有分支
git branch XX 新建分支XX
git branch -D XX 删除XX分支
git checkout XX 跳转到XX分支 (注: git checkout还有更多用法,请查看下文)
git:checkout -b XX 相当于先新建XX分支再跳转到该分支

git rebase XX 这个比较复杂,相当于把当前所在的分支(命名为C)的所有需要挪动的版本(从C和XX开始分叉的版本开始一直到当前版本)挪到XX分支最新版本之后,并将文件内容合并。如下图将mywork分支rebase到origin分支:
(rebase前)

(rebase后)

注意在rebase过程中C5,C6可能会和 C3, C4 冲突,可以git rebase --skip来取消C5', C6'的添加。
更高级的git rebase用法:
    如果只想把C6移植到C4上,先git checkout mywork跳转到mywork分支,然后git rebase head^ --onto master。此处注意是head^而不是head,形象地说,相当于将要移植的mywork分支的根节点(此处为C5)放在和C4重合。rebase后的效果如下:

    现在如果想把C6移植到C3上,则需要先查询C3 commit的编号(可以git checkout master跳转到master分支,用git log或者git show head^查询得到),这里假设为a2474b。则回到mywork分支, 输入git rebase head^ --onto a2474b即可。rebase后效果如下:

在这里用到的git rebase <current commit point> --onto <new commit point>,两个commit point缺一不可。



git checkout FILE 将file 恢复到上次commit 状态;
git checkout [version] FILE 将file 恢复到version版本的状态;
git checkout [version] 新建一个悬垂分支并跳转到该分支,该分支的内容相当于从[version]版本checkout 出来;(其实后面不指定FILE,可以理解为对所有文件都进行恢复)


git log -X X 为数字,显示最近x个版本

git diff 显示当前所有文件和最近一次commit版本的内容差异;
git diff [version] 显示当前所有文件和version版本的内容差异;
git diff [version1]..[version2] 显示[version1]版本和[version2]版本的所有文件的内容差异;
git diff FILE 显示当前指定FILE和最近一次commit版本的内容差异;
git diff [version] FILE 显示当前指定FILE和version版本的内容差异;
git diff [version1]..[version2] FILE 显示[version1]版本和[version2]版本的指定FILE文件的内容差异;

git status 查看当前分支修改状况(如是否增添某个文件,修改某个文件)

git show 查看最后一次commit(即当前版本)相对于之前一次commit的修改状况
git show [version] 查看某个版本相对前一次commit的修改状况

git reset --hard head 完全退回到最后一次commit状态,head^为倒数第二次,head^^为倒数第三次,head~N表示倒数第N+1个版本(比如head~1=head^, head~2=head^^)

git add XX XX 为文件(夹),将该文件从uncheck/check状态变为stage状态
git rm XX XX 为文件(夹),将该文件(必须处于check状态,如果是untrack则git提示找不到,如果是stage则无法删除)删除并提交到stage状态;另外,如果XX已经处于stage状态,可以先暴力删除rm XX, 然后再git rm XX.

git blame FILE 得到整个文件的每一行的详细修改信息:包括SHA串(就是各个版本的编号,可以通过git checkout [SHA串]恢复到该版本),日期和作者;

------------------------------------------------------------------------

git管理下文件的状态:
unchecked (git 不认识的)
check(git 认识的,又分为以下两种)
  -- unmodified(自上次commit后干净的)
  -- modified(自上次commit后修改过的)
stage(git 认识的,下次执行commit后会提交的)
注:单纯修改某个文件后,执行git commit后git不会知道这个修改,因为此时文件只是modified而不是 stage,需要用git add 提交到stage状态再git commit。或者用git commit -a 直接提交。

git commit -m "XX" : "XX"是你的提交说明.这样就不用跳入vi编辑页面来填写提交说明
  • 大小: 7.7 KB
  • 大小: 10.6 KB
  • 大小: 9.5 KB
  • 大小: 8.7 KB
分享到:
评论

相关推荐

    git常用命令总结git常用命令总结git常用命令总结git常用命令总结

    git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git...

    git常用命令.docx

    Git 常用命令整理及解析 Git 是一个开源的分布式版本控制系统,用于跟踪项目中的代码变化,可以帮助开发者更好地管理代码。下面是 Git 中一些常用的命令,这些命令可以帮助开发者快速掌握 Git 的使用。 基本命令 ...

    git常用命令手册

    ### Git常用命令手册详解 #### 一、概览 本篇文档主要介绍了一套由国外开发者整理的Git常用命令速查表,旨在帮助用户快速掌握并应用Git的基础操作。通过这些简洁明了的命令,即使是Git新手也能迅速上手进行版本...

    一张图展示 Git 常用命令.pdf

    一张图展示 Git 常用命令.pdf

    git常用命令速查表

    git常用命令速查表

    git常用命令总结.txt

    ### git常用命令总结 在日常开发工作中,Git作为版本控制系统被广泛使用,它能帮助团队高效地管理代码版本,提高协同工作的效率。本文将根据给定的文件信息,详细总结并解释Git中的常见命令及其用途。 #### 1. Git...

    GIT常用命令整理

    以下是对Git常用命令的详细整理,包括配置、基本操作、分支管理、合并、标签、回滚以及日志和远程操作。 1. **配置操作** - `git config --global user.name "Your Name"`:进行全局配置,设置Git的用户名。 - `...

    git常用命令大全

    标题《git常用命令大全》所涉及的知识点覆盖了使用Git进行版本控制的日常操作。Git是一个开源的分布式版本控制系统,被广泛用于代码管理,可以有效地追踪文件的变更,管理分支的合并与冲突,以及回退到旧版本等。...

    git常用命令markdown版

    git常用命令markdown版

    git常用命令教程,新老手必看,研究透可视化git工具

    git常用命令教程,新老手必看,研究透可视化git工具git常用命令教程,新老手必看,研究透可视化git工具git常用命令教程,新老手必看,研究透可视化git工具git常用命令教程,新老手必看,研究透可视化git工具git常用...

    git常用命令和说明.docx

    ### Git常用命令详解:提交代码相关操作 #### 一、Git Commit 命令概述 在版本控制系统中,Git 提供了一系列强大的命令用于管理和维护代码版本。`git commit` 是其中一个核心命令,用于将暂存区(staging area)内...

    git常用命令归纳总结

    git是linux系统管理源码常用工具,本资源归纳总结git常用命令使用。

    Git常用命令速查表

    Git常用命令速查表,喜欢的同学自行下载0.0 啦啦啦啦啦啦

    git常用命令

    常用git命令总结,常用git命令总结。 常用git命令总结。

    git常用命令(注释易懂超级全)

    ### Git常用命令详解 #### 一、新建代码库 **命令功能**: - `git init`:用于在当前目录创建一个新的Git仓库。 - `git init [project-name]`:用于在一个新目录中创建并初始化一个Git仓库。 - `git clone [url]`...

    git常用命令20160531

    平时常用的git命令

    git常用命令整理

    对开发中常用的git命令的整理,全部都是实际用到的 对开发中常用的git命令的整理,全部都是实际用到的 对开发中常用的git命令的整理,全部都是实际用到的

    git常用命令总结 word文档

    ### Git常用命令总结 #### 一、准备工作 **1.1 初始化仓库** - **命令**: `git init` - **说明**: 当你需要在一个新的项目中开始使用Git时,首先要做的就是在项目根目录下运行`git init`命令来创建一个新的Git...

Global site tag (gtag.js) - Google Analytics