1 Git Tips

2016-11-17  本文已影响13人  _小分队

[TOC]
Git 常用命令

1. gitignore

git .gitignore 文件只能够忽略 untracked file ,对于已经 tracked 的文件,再加入 .gitignore 文件中是无效的。

若想忽略已经 tracked 的文件,可采取如下方式:

Note:此种方式适用于你对某个文件做了修改,但仅限于 local branch。git update-index --no-assume-unchanged a.conf 命令可将 changes 释放出来。

对于配置文件,git 中可采取如下的方式配置:

remote repository 保存的应该是 a.conf.example 文件,当我们 clone 下来后,cp a.conf.example a.conf,再对 a.conf 进行修改,而 a.conf 应该是 git ignore 的。

2 . cherry-pick

git cherry-pick 用于把另一个本地分支的 commit 修改应用到当前分支。

Note:此命令只会合并当前 commit id 所修改的内容

usage:git cherry-pick <commit id>

3. log

git log 用于查看版本的提交记录。

usage:git log --pretty=format:"%H , %an , %ar : %s" --stat -1 git log -p -1

4. reset & revert

resetrevert 的区别在于一个主要用于本地版本的回滚一个用于 remote server 上的回滚。

usage:git reset --hard commit_id

Tips:可以使用 git reflog 命令来查看命令历史,以便回到回滚之前的版本。

usage:git revert commit_id

Note:git revert 使用一次新的 commit 来回滚之前的 commit,所以 HEAD 是一直往前的;而 git reset 是直接删除指定的 commit ,HEAD 是向后移动的。

5. diff

6. stash

git stash save "some message" # save uncommited changes

git stash list # list stashed changes

git stash show stash@{n} # see stash change

git stash apply/pop stash@{n} # apply stash and remove it from the list

git stash drop stash@{n} # drop stash changes

git stash clear # clear all stash changes

git stash branch <branchname> stash@{n} # create branch base on stash

上一篇 下一篇

猜你喜欢

热点阅读