美文网首页
Git 操作笔记

Git 操作笔记

作者: hui_he | 来源:发表于2018-08-17 14:06 被阅读0次

    创建新文件夹mkdir filename 然后创建新仓库:

    git init
    

    从远程库克隆:

    git clone git@github.com:michaelliao/gitskills.git
    

    添加和提交:

    1. git add *
    2. git add filename
    git commit -m "commit messages" //改动提交到了 HEAD暂存区,但是还没到你的远端仓库
    

    查看当前文件状态:

    git status
    

    如果还没有克隆现有仓库,使用命令:

    git remote add origin git@github.com:michaelliao/learngit.git
    

    主分支创建并且换到dev分支:

    git checkout -b dev //相当于这两步   1.git branch dev    2.git checkout dev
    

    同步远程分支

    git pull orign dev
    

    修改文件后提交到本地dev分支

    git commit -am "修改文件"  //或者git commit -a -m "修改文件"
    

    合并分支:

    git merge dev
    

    在合并改动之前,可以使用如下命令查看:

    git diff <source_branch> <target_branch>
    

    合并冲突时,如有冲突,解决冲突后,重新提交:

    git add filename
    git commit -m "solve conflict" //标记冲突
    

    切换到主分支:

    git checkout master
    

    删除dev分支:

    git branch -d dev
    

    删除远程dev分支:

    git push origin -d dev
    

    推送改动:

    git push -u origin master
    

    查看日志:

    git log
    git log --pretty=oneline
    

    回退版本:

    git commit --amend  // 撤销上一次提交  并讲暂存区文件重新提交
    git checkout --<file> // 拉取暂存区文件 并将其替换成工作区文件
    git reset HEAD  --<file>  // 拉取最近一次提交到版本库的文件到暂存区  改操作不影响工作区
    git reset --hard 1094a // 1094a为日志版本id
    

    日志回归,查看命令历史:

    git relog
    

    更新本地仓库至最新改动:

    git pull
    

    标签
    在Git中打标签非常简单,首先,切换到需要打标签的分支上,然后,敲命令git tag <name>就可以打一个新标签

    git tag v1.0
    

    查看所有标签:

    git tag
    

    默认标签是打在最新提交的commit上的。有时候,如果忘了打标签,比如,现在已经是周五了,但应该在周一打的标签没有打,怎么办?

    方法是找到历史提交的commit id,然后打上就可以了

    $ git log --pretty=oneline --abbrev-commit
    12a631b (HEAD -> master, tag: v1.0, origin/master) merged bug fix 101
    4c805e2 fix bug 101
    e1e9c68 merge with no-ff
    f52c633 add merge
    

    比方说要对add merge这次提交打标签,它对应的commit id是f52c633,敲入命令:

    git tag v0.9 f52c633
    

    注意,标签不是按时间顺序列出,而是按字母排序的。可以用git show <tagname>查看标签信息:

    $ git show v0.9
    commit f52c63349bc3c1593499807e5c8e972b82c8f286 (tag: v0.9)
    Author: Michael Liao <askxuefeng@gmail.com>
    Date:   Fri May 18 21:56:54 2018 +0800
    
        add merge
    
    diff --git a/readme.txt b/readme.txt
    ...
    

    创建带有说明的标签:

    git tag -a v0.1 -m "version 0.1 released" 1094adb
    

    删除标签:

    git tag -d v0.1
    

    注意:标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签

    将本地标签推送到远程:

    git push origin tag_name // tag_name为标签名
    //Git 的推送和删除远程标签命令是相同的,删除操作实际上就是推送空的源标签
    

    如果需要对tag指定的版本进行修改,我们可以为其建立一个分支,其指令如下:

    git checkout -b branch_name tag_name // branch_name:分支名 tag_name:标签名
    

    从远程克隆分支:

    git clone remote_repo -b branch_name // remote_repo:远程仓库路径 branch_name:远程分支名
    

    遇到的问题
    1.npm run -s precommit (node v8.9.3)

    huideMacBook-Pro:graph huiyu$ git commit -m “更新代码” 
    husky > npm run -s precommit (node v8.9.3)
    
    fatal: Not a git repository: ‘.git’
    
    husky > pre-commit hook failed (add –no-verify to bypass)
    

    解决:

    git commit -m “更新代码” -n
    

    相关文章

      网友评论

          本文标题:Git 操作笔记

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