一、背景
在代码开发过程中,经常使用到git这样一个版本工具,在此记录下git常用的一些命令。
二、git常用命令
git init
git status
git add
git diff
git commit
git rm
git mv
git log
三、部分git命令详解
1、提交
直接追加并提交git commit -a -m "whatever you want to say" 前提是要先有一次git add
git add . 表示直接将文件中所有的文件全部提交至暂存区
git status是表示显示工作区与暂存区之间的区别
git diff是比较的暂存区到工作区中的区别,当暂存区中的内容与工作区中的不一样时,则会将不一样的地方显示出来。当工作区中的文件改变,而暂存区中的并没有改变的时候,git diff会显示出不一样的地方。
git diff --staged 是比较的暂存区和历史记录之间的区别,也就是在git add之后,此时暂存区和历史记录中的是不一样的,暂存区中的改变了,而历史记录中没有改变。
git log是记录的历史记录
2、回退
回退相关的命令:
git checkout -- <files>
----最好用git stash(扔到垃圾桶中,以后也可以捡回来),这样可以将修改后的东西再次回退
----如果对修改的东西又觉得没错,想保存回到刚刚的修改,那么git stash apply
git reset --hard <commit> :commit的值是指需要回退位置的哈希值
git reset HEAD <files>:files是你需要回退的那个文件
git add
git commit -m "
whatever you want to say
"
3、打标签
打标签:
git tag
git tag -a v1.1 -m "my version 1.1"
git show v1.1
git tag -a v0.1 -m "my version 0.1"
sadq123mwqer234dewjd21784ewqe18 在之前的版本上打标签
4、git配置
git的配置
~/.gitconfig
可以做如下配置:
[user]
name = liuzhenkai
email = samniuniu@126.com
[alias]
st = status
ci = commit
co = checkout
br = branch
df = diff
unstage = reset HEAD --
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
last = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit -1 HEAD
[filter "media"]
clean = git-media-clean %f
smudge = git-media-smudge %f
[core]
editor = vim
sha1码路径:./.git/objects/
5、git分支及重演
分支路径:.git/refs/heads/master
分支的查看:git branch
----分支删除:git branch -d name_of_branch
----分支强制删除:git branch -D name_of_branch
----分支查看合并情况:git branch --merge
分支的切换:git checkout
分支的合并:git merge
分支的重演:git rebase name1_of_branch name2_of_branch
重演步骤:
1)
git rebase name1_of_branch name2_of_branch
2) git checkout name1_of_branch
3) git merge name2_of_branch