git 命令总结

作者: 将代码写成诗 | 来源:发表于2019-06-29 19:51 被阅读0次

    初始化一个git仓库,使用git init 命令
    将文件添加到git仓库,分两步

    git  add <file>,注意,可反复多次使用,添加多个文件
    git commit -m <message>
    
    要随时掌握工作区的状态,使用git status  命令
    如果 git status  告诉你有文件被修改过,用 git diff <file>可以查看修改内容
    
    git log 命令显示从最近到最远的提交日志;如果嫌输出信息太多,可以加上
    --pretty=oneline参数
    
    • HEAD 指向 的版本就是当前版本, 因此,Git 允许我们在版本的历史之间穿梭,使用命令git reset --hard [commit_id]
    • 穿梭前 用git log可以查看提交历史,以便确定要回退到那个版本。
    • 要重新返回未来,用 git reflog 查看命令历史,以便确定要回到未来的哪个版本


      image.png
      image.png
    每次修改,如果不用git add到暂存区,就不会加入到commit中
    
    • 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
    • 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步 git reset HEAD<file>,就回到了场景1,第二步按场景1操纵。
    • 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库
    • 命令git rm 用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容
    查看当前关联远程库
    git remote -v
    删除当前配置的远程库
    git remote rm origin
    要关联一个远程库,使用命令
     git remote add orgin git@server-name:path/repo-name.git
    eg : git remote add orgin git@github.com:github账号/新建的仓库名
    关联后,使用命令git push -u origin master 第一次推送master分支的所有内容;
     此后,每次本地提交后,只要必要,就可以使用命令git push origin master推送最新修改了
    

    推送到远程仓库

    • git remote add origin git@github.com:PonyCrossingTheRiver/learngit.git
    • git push -u origin master
      第一次时加上参数 -u 以后就不需要这个参数了

    克隆远程仓库

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

    git鼓励大量使用分支

    • 查看分支 :
      git branch
    • 创建分支:
      git branch <name>
    • 切换分支:
      git checkout <name> 或者 git switch <name>
    • 创建+切换分支:
      git checkout -b <name> 或者 git switch -c <name>(switch命令在git 新版本才会有)
    • 合并某分支到当前分支 :
      git merge <name>
    • 如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
      git merge --no-ff -m "merge with no-ff" dev
    • 删除分支 git branch -d <name>

    查看分支合并图

    $ git log --graph --pretty=oneline --abbrev-commit

    开发一个新feature,最好新建一个分支;

    如果要丢弃一个没有被合并过的分支,可以通过
    git branch -D <name>强行删除。

    标签

    • 命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id;
    • 命令git tag -a <tagname> -m "blablabla..." commitId可以指定标签信息;
    • 命令git tag可以查看所有标签。
    命令git push origin <tagname>可以推送一个本地标签;
    
    命令git push origin --tags可以推送全部未推送过的本地标签;
    
    命令git tag -d <tagname>可以删除一个本地标签;
    
    命令git push origin :refs/tags/<tagname>可以删除一个远程标签。
    

    .gitignore 文件

    忽略某些文件时,需要编写.gitignore;

    .gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!

    配置别名

    git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
    
    

    相关文章

      网友评论

        本文标题:git 命令总结

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