• Git学习1-- 简介、命令使用、添加远程仓库方法



    一、简介:
    Git是分布式版本控制系统
    分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,
    分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,
    没有它大家也一样干活,只是交换修改不方便而已。
    不需要联网,安全性高,

    CVS及SVN都是集中式的版本控制系统
    版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,
    所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。
    必须联网才能工作,

    二、命令使用:

    每个机器都必须自报家门:你的名字和Email地址
    git config --global user.name lijun
    git config --global user.email 574747217@qq.com

    创建版本库repository:
    #把这个目录变成Git可以管理的仓库
    mkdir project && cd project
    git init

    #把文件添加到仓库
    git add

    #把文件提交到仓库
    git commit -m "说明注释"

    #查看文件修改内容:
    git diff readme.txt

    git status

    #查看仓库提交历史记录:
    git log

    #版本回退:commit_id没必要写全,前几位就可以了,Git会自动去找
    git reset --hard commit_id

    #每一次命令的记录:
    git reflog

    --工作区:就是你在电脑里能看到的目录
    --版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
    版本库里包括暂存区,还有自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
    git add把文件添加进去,实际上就是把文件修改添加到暂存区;
    git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

    场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。

    场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,
    第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。

    场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

    #删除文件:先手动删除文件,然后使用git rm <file>和git add<file>效果是一样的。
    git rm

    三、远程仓库:
    注册github,ssh-keygen -t rsa生成公钥,并将公钥配置至github

    Quick setup — if you’ve done this kind of thing before
    https://github.com/lijun47/learngit.git
    We recommend every repository include a README, LICENSE, and .gitignore.

    …or create a new repository on the command line
    echo "# learngit" >> README.md
    git init
    git add README.md
    git commit -m "first commit"
    git remote add origin https://github.com/lijun47/learngit.git
    git push -u origin master

    …or push an existing repository from the command line
    git remote add origin https://github.com/lijun47/learngit.git

    #把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。
    #由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送到远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
    git push -u origin master

    #更换成ssh方式推送到远程仓库:
    git remote -v
    git remote rm origin
    git remote add origin git@github.com:lijun47/learngit.git
    git push origin master

    #从远程克隆仓库:
    git clone https://url

    Git支持多种协议:默认的git://使用ssh,但也可以使用https等其他协议
    使用https除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,
    但是在某些只开放http端口的公司内部就无法使用ssh协议而只能用https。

    #创建和合并分支:
    git checkout -b dev #-b参数表示创建并切换,git branch dev git checkout dev

    #用git branch命令查看当前分支:
    git branch

    #合并:用于合并指定分支到当前分支。Fast-forward
    git merge dev
    git branch -d dev #合并后删除分支

    #Git鼓励大量使用分支:

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

  • 相关阅读:
    将字符串按指定间隔分隔
    C#汉字转化为拼音
    Silverlight客户端分页 DataPager控件的使用
    c# EnumUtil
    【AS3代码】通过两者间的距离,检测是否碰撞
    【AS3代码】遮罩用法
    【AS3代码】XML操作
    【AS3代码】数组知识
    【AS3代码】深度的设置
    【AS3代码】模仿现实世界中(地球重力)的甩球游戏
  • 原文地址:https://www.cnblogs.com/pythonlee/p/9549564.html
Copyright © 2020-2023  润新知