美文网首页
git 常用命令—轻松掌握

git 常用命令—轻松掌握

作者: 夜空中乄最亮的星 | 来源:发表于2018-12-04 10:39 被阅读0次

    作为一个开放人员,git版本管理工具必须掌握。学会git并不难,只要按命令多练习几遍即可~

    如何安装git就不说啦~本文只讲解一下git的常用操作命令

    创建版本库

    git init 命令可以把这个目录变成Git可以管理的仓库

    $ git init
    Initialized empty Git repository in F:/workspace/php/.git/
    

    瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

    添加到版本库

    git add 该命令告诉Git,把文件添加到仓库(添加到暂存区)

    $ git add readme.txt
    warning: LF will be replaced by CRLF in readme.txt.   // 这是因为windows和linux下换行方式不同的警告,无妨~
    The file will have its original line endings in your working directory
    

    git commit 该命令告诉Git,把文件提交到仓库(把暂存区的所有内容提交到当前分支)

    $ git commit -m "v1.0"
    [master (root-commit) c38e4e5] v1.0
     1 file changed, 1 insertion(+)
     create mode 100644 readme.txt
    

    简单解释一下git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
    嫌麻烦不想输入-m "xxx"行不行?确实有办法可以这么干,但是强烈不建议你这么干,因为输入说明对自己对别人阅读都很重要。
    git commit命令执行成功后会告诉你,1 file changed:1个文件被改动(我们新添加的readme.txt文件);2 insertions:插入了两行内容(readme.txt有两行内容)

    为什么Git添加文件需要add,commit一共两步呢?

    因为commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:

    $ git add file1.txt
    $ git add file2.txt file3.txt
    $ git commit -m "add 3 files."
    

    版本回退

    git log 命令显示提交过的的历史日志

    $ git log
    commit c38e4e5fa90a31ce9ce5c610886e198dd5f8a134 (HEAD -> master) //版本号
    Author: xxx <xxx@qq.com>  //提交者,作者
    Date:   Tue Dec 4 10:26:25 2018 +0800 //提交时间
    
        v1.0  //说明
    

    git reflog 用来记录你的每一次命令操作。
    git reset 版本重置(回退)

    参数:
    --hard HEAD^(上一个版本)
    --hard HEAD^ ^(上上一个版本),当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
    --hard commit_id :回退到指定的版本号,这里xxxx 不用全部写出来 写出前几位即可

    总结:

    • HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。

    • 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

    • 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。


    git status 查看提交状态
    git diff HEAD -- file命令可以查看工作区和版本库里面最新版本的区别
    git checkout -- file 意思就是,把file文件在工作区的修改全部撤销
    git rm file 从版本库中删除该文件


    git remote add origin path 关联一个远程库
    git push -u origin master 第一次推送master分支的所有内容
    git push origin master 每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改


    使用分支

    git branch <name> 创建分支
    git checkout -b <name> 创建+切换分支
    git branch 查看分支
    git checkout <name> 切换分支:
    git merge <name> 合并某分支到当前分支:
    git branch -d <name> 删除分支


    出现合并冲突的情况

    在分支中修改文件并commit,在另一个分支同样修改了该文件并comit后进行git merge 会出现冲突问题:

    $ git merge feature1
    Auto-merging readme.txt
    CONFLICT (content): Merge conflict in readme.txt
    Automatic merge failed; fix conflicts and then commit the result.
    

    Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
    解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。
    git log --graph命令可以看到分支合并图。

    相关文章

      网友评论

          本文标题:git 常用命令—轻松掌握

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