Git命令备忘

作者: linjinhe | 来源:发表于2016-04-14 10:37 被阅读73次

    Git文件的状态

    1. 已修改modified-文件被修改了,但是还没有提交保存。
    2. 已暂存staged-已修改的文件放在下次提交时要保存的清单中。
    3. 已提交committed-文件已经被安全地保存在本地数据库中。

    初始化

    git init

    将文件纳入版本控制

    git add filename告诉Git开始对这些文件进行跟踪

    提交文件

    git commit -m commitMessage提交的时候不会记录这些还没暂存(git add)起来的变化。

    git commit -a跳过暂存区域。

    克隆仓库

    git clone url
    git clone url foldName

    查看文件当前状态

    git status

    忽略某些文件

    .gitignore

    查看已暂存和未暂存的更新

    git diff比较工作目录中当前文件和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容。
    git diff --staged已暂存起来的文件和上次提交时的快照之间的差异。

    移除文件

    git rm filename
    git mv fileForm fileTo移动文件(重命名)

    查看历史提交

    git log
    git log -p -2 -p展开显示每次提交的内容差异 -2显示最近的两次更新。
    git log --stat 显示简要的增改行数统计。
    gitk

    修改最后一次提交

    git reset HEAD filename撤销最近一次的暂存操作。

    查看当前的远程库

    git remote -v

    添加远程仓库

    git remote add [shortName] [url]

    推送数据到远程仓库

    git push [remoteName] [branchName]

    git push origin master(克隆操作会自动使用默认的master和origin名字,master-分支名,origon-服务器名)

    查看远程仓库信息

    git remote show [remoteName]

    创建分支

    git branch branchName这会在当前commit对象上新建一个分支指针。注意,仅仅是创建,并不会自动切换过去。

    切换分支

    git checkout branchName

    合并分支

    git merge branchName

    分支管理

    git branch列出分支清单
    git branch -v列出分支清单和最后一次commit的信息
    git branch --merged列出与当前分支合并的分支(哪些分支是当前分支的直接上游)
    git branch --no-merged列出尚未与当前分支合并的分支。

    推送本地分支

    git push [远程仓库] [分支名]

    拉取远程分支

    git pull

    撤销

    撤销是文件视角。

    git checkout filename撤销未add的文件。
    git checkout HEAD filename撤销未commit的文件。
    git reset filename撤销add

    撤销已经commit的文件到指定版本
    git checkout <版本号> filename
    git add filename
    git commit -m xxxx

    回滚

    回滚是分支视角。

    本地分支回滚到远程分支:删除本地分支,重新fetch/pull
    git checkout -B master随便切换个别的分支。
    git branch -D test把本地分支删除
    git fetch更新下远程引用分支
    git checkout test

    相关文章

      网友评论

        本文标题:Git命令备忘

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