git个人笔记,欢迎追加,指正
git命令太多了,做下笔记
使用git log 查看提交的日志
$ git log #不带参数时将会显示所有的修改记录,最新的在上面,使用上下键浏览. $ git log -p #显示版本间的代码差异 $ git log -2 #显示两条提交的日志 $ git log --since="8 hours" #查看最近8小时内的修改 $ git log --before="8 hours" -2 #查看8小时前的两次修改 $ git log 13a24fa..03bafb23 # 最老版本..最新版本之间的日志,HEAD 代表最新版本,HEAD可以省略 $ git log --pertty=format:"%h %s" #git log的输出格式 %h代表哈希值的缩写,%s代码提交留言的第一行 $ git log -2 HEAD^ #代表最新版本之前的版本的前两次 $ git log --graph --all #查看所有分支
使用git diff 查看版本之间的差异
$ git diff 18f822e # 显示18f822e这个版本和当前是工作目录树之间的差别. $ git diff 18f822e..4324af4 #显示18f822e 4324af4两个版本之间的差别 输出格式 /dev/null 标记这个文件是删除了还是新增 ,+++/dev/null表示删除 ,-- /dev/null 表示新增 --- a/lib/file +++ b/lib/file 表示从一个文件到另一个文件,更新文件 git diff 59189..HEAD --name-only 只显示修改的文件名
git branch
创建本地分支: git branch branchname 切换分支:git checkout branchname 查看远程分支: git checkout -b newbranch origin/devlop 从该清单中筛选出你已经(或尚未)与当前分支合并的分支git branch --merged ,git branch --no-merged 删除本地分支: git branch -d branchname 删除本地远程分支: git branch -d -r origin/remote_branchname 提交本地分支到一个远程分支: git push origin loca_branch:remote_branch #如果没有remote_branch,则会新建一个远程分支 删除远程分支: git push origin :remote_branch
git reset
git reset --hard HEAD^ 还原到上一次的提交
git reset --soft HEAD^ 取消最近一次的commit,内容还是和commit前的一样
git checkout
git checkout -f branchname 当你想checkout到另一个branch时,会因为当前branch中有一些没有提交的文件而不能checkout, 加上-f参数可以强制checkout,但当前的修改就会丢失 *当前分支的修改就会丢失,可以得用这个方法还原你的分支,当你在当前分支做了很多degub,而使得很多不需要提交的文件处于modify状态时, 可以使用些方法还原.
git update-index -?
git update-index --assume-unchanged aa.pm #忽略aa.pm的更新
git commit
$ git commit --amend
#修改commit msg
git stash >> http://git-scm.com/book/zh/Git-%E5%B7%A5%E5%85%B7-%E5%82%A8%E8%97%8F%EF%BC%88Stashing%EF%BC%89
$ git stash
$ git stash pop
后续更新。。。