• Git 常用命令


    参考视频,配置SSH可以参考

    git官方网站_中文版

    git官方网站_英文版


    1.认识Git

    (1)什么是git?

    分布式版本管理系统

    (2)svn与git的区别?

    svn是集中式版本控制系统,版本库放在中央服务器,必须联网才能工作。

    集中管理方式可以在一定程度上看到其他工作人员在开发什么,管理员也可以轻松掌握每个人的权限。

    相较于优点,缺点也很明显:服务器单点故障(服务器挂了代码就没了);容错性差。

    git去中心化思想,没有中央服务器,工作的时候不需要联网,版本都在自己的电脑上,每个人都有一个完整的版本库。

    多人协作时只需要把各自的修改推送给对方,就可以互相看到对方的修改了。

    (3)远程仓库github

    SSH为Secure Shell(安全外壳协议)的缩写,专为远程登陆会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。

    需要在github上配置SSH密钥

     

    2.Git常用命令

    要在项目文件夹里打开git,新建一个pr = pull request

    git三种状态:

    已修改modified,在本地数据库中修改了文件,但还没保存到数据库中
    已暂存staged,对一个已修改的文件的当前版本做了标记,使之包含在下次提交的快照中
    已提交committed,已提交表示数据已经安全地保存

    克隆项目

    $ git clone https://github.com/libgit2/libgit2

    查看当前分支状态,显示文件变更

    $ git status 
    获得简短的输出结果 $ git status
    -s $ git status --shrot

    新建分支

    新建分支
    $ git branch fix0001
    进入分支 $ git checkout fix0001
    创建分支并进入(常用) $ git checkout
    -b fix0001

    列出所有分支
    $ git branch

    删除分支
    $ git branch -d fix0001

    将fix0001分支改名成tmp
    $ git branch -m fix0001 tmp

    查看已经合并的分支(未加*的可以删掉)
    $ git branch --merged

    查看所有包含未合并工作的分支(删除会失败,-D强制删除)
    $ git branch --no-merged

    主分支为master分支 HEAD指针指向master,master指向提交

     添加提交

    将文件添加到《暂存区》
    $ git add a.txt
    将《暂存区》的所有内容提交到当前分支 $ git commit vim模式: i切换到输入模式 先Esc再输入:wq退出

    不用进入vim的世界
    $ git commit -m "balabala"

    删除文件
    $ git rm a.txt

    查看历史

    $ git log(用q退出)

    会输出你的提交历史、各个分支的指向以及项目的分支分叉情况
    $ git log --oneline --decorate --graph --all

    将本地仓库的提交上传到远程

    $ git push origin fix0001
    --force强推,以自己本地操作为准 $ git push origin fix0001
    --force

    合并分支及变基

    fix0001分支的操作合并到master分支
    $ git checkout master
    $ git merge fix0001
    
    将experiment分支变基到master分支
    $ git checkout fix0001
    $ git rebase master

    丢弃本地的merge
    $ git merge --abort 

    第二天继续干活,先更新master

    $ git checkout master
    $ git pull $ git checkout fix0001 $ git rebase master

    Git从远程分支获取最新的版本到本地有两种命令:
    $ git fetch:相当于是从远程获取最新版本到本地,不会自动merge
    $ git pull:相当于是从远程获取最新版本并merge到本地
    git fetch更安全,可以查看更新情况,再决定是否merge
    Pull = Fetch + Merge
    Pull -r = Pull --rebase = Fetch + Rebase

    IDEA中与"Run"、"Builld"、"Terminal"并排的"Git"(可能需要配)中的便捷操作

    需要强推代码到以前的分支:
        选择某个历史分支,右键"Reset Current Branch to Here",网页上代码不要刷新,选择"Hard"模式或者其他,然后按照网页的代码重新修改
    
    某个文件需要回退:
        右键文件名,选择Git,再选择"Rollback",然后点击Rollback即可

    Git对标签的管理:很少用

    2.Rebase与Merge详解

    还没写,有点难嗷

  • 相关阅读:
    MFC CDialog/CDialogEx DoModal ALT
    yum和apt-get用法及区别
    ubuntu 12.04 source.list 源更新
    elasticsearch 优化
    TRIE树
    数据统计经验浅谈
    机器学习
    python 读取libsvm文件
    spark 参数调优
    python中的一些函数
  • 原文地址:https://www.cnblogs.com/myrtle/p/16106588.html
Copyright © 2020-2023  润新知