zoukankan      html  css  js  c++  java
  • git 学习

    基本操作:

    git add file //将file添加到暂存区

    git add -A  //将所有文件/操作都添加到暂存区

     git commit file  //表示指定只提交这个file 相关的操作.

    git add/commit  file1 file2  //表示同时添加/提交两个文件

    git commit -a -m "备注"   //全部提交所有处于暂存区的操作

    git push   //推送当前分支到remote

    git pull   // 更新 和合并远程remote 分支到当前分支。 

     

    文件的撤销和恢复:

    git checkout  -- file 可以撤消没有add 到缓存区的所有修改,不能撤消add 到缓存区的内容.还可以恢复删除的文件,只要还将删除这个操作add到缓存区都可以用checkout 恢复文件.  这里的 file 是实际文件,而不是参数

    git reset --hard HEAD^ 可以撤消上一个add 操作或者commit 的操作 到上一个commit 状态.

    git reset HEAD <file>..." 撤出暂存区,就是撤消了add 的操作回到修改区

     

    # 删除 untracked files

    git clean -f
    # 连 untracked 的目录也一起删掉
    git clean -fd
    # 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)
    git clean -xfd
    # 在用上述 git clean 前,墙裂建议加上 -n 参数来先看看会删掉哪些文件,防止重要文件被误删
    git clean -nxfd
    git clean -nf
    git clean -nfd

    查看文件修改的内容: 

    git diff  file      查看file 文件修改了那些内容,只有file处于被修改状态才可以看.处于add 和commit 之后就查看不到了.

      

    分支:

    git push -u origin dev  推送当前本地分支到远程分支并建立关联,如果远程分支不存在则新建

    git branch -u origin/dev  当前分支和远程分支建立关联

     

    分支查看

    git branch -a  //查看所有分支

    git branch  //查看所有本地分支,默认分支为master

     //查看当前分支的日志,以图像的形式显示出来

    git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative

     

     

    分支创建:

    git branch name  //创建一个名为name的分支库.在分支库上做的修改不会影响其他分支的内容

    git checkout -b  dev master  //以master 为基础创建dev 分支,并切换到dev分支,如果当前分支为master 则可忽略master

     

     

    分支删除:

    git branch -d name  //删除本地分支

    git branch -r -d origin/dev  //删除远程分支在本地的关联

    git push origin :dev  //删除远程分支; 命令全名是 git push <远程主机名> <本地分支名>:<远程分支名>,所有这个删除相当于push 一个空到远程分支

     

    分支切换和合并

    git checkout name ,切换到名为 name 的 分支.

    git merge dev  合并名为dev 的分支到当前分支,默认情况下,Git执行"快进式合并"(fast-farward merge),会直接将当前分支指向name分支

    git merge --no-ff dev  #推荐  //合并分支dev 到当前分支,使用参数--no-ff 后,会执行正常合并,在当前分支上生成一个新节点。为了保证版本演进的清晰,我们希望采用这种做法

     

    注意事项:

    所有操作在没有add 之前都不能git commit

    没有git commit 之前不能git checkout到其他分支。  但是如果删掉文件之后没有git commit 也可以git checkout 到其他分支,结果是删除操作会被撤消.

     

    推荐看 http://www.ruanyifeng.com/blog/2014/06/git_remote.html
    http://www.ruanyifeng.com/blog/2015/08/git-use-process.html
     

  • 相关阅读:
    2018.10.22-ssoi3979荔枝丹(litchi)
    2018.10.18- oj3969 pd
    2018.10.18-ssoj3970 graph
    【2019年8月版】OCP 071认证考试原题-第38题
    【2019年8月版】OCP 071认证考试原题-第37题
    【2019年8月版】OCP 071认证考试原题-第36题
    【2019年8月版】OCP 071认证考试原题-第35题
    【2019年8月版】OCP 071认证考试原题-第34题
    【2019年8月版】OCP 071认证考试原题-第33题
    【2019年8月】OCP 071认证考试最新版本的考试原题-第32题
  • 原文地址:https://www.cnblogs.com/predisw/p/4758953.html
Copyright © 2011-2022 走看看