zoukankan      html  css  js  c++  java
  • Git的基本使用

    Git

    一、什么是Git

    Git是目前世界上最先进的分布式版本控制系统。简单说,就是团队开发时,管理代码的软件

    二、SVN与Git的最主要的区别?

    (1)SVN

    SVN是集中式版本控制系统,版本库是集中放在中央服务器的,干活的时候个人电脑先从中央服务器拿到最新版本,然后操作,操作完以后,又推送回中央服务器。必须联网才能工作。svn服务器要是坏了的话 ,那就是真的坏了

    (2)Git

    Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库。所以,工作的时候就不需要联网了。服务器的数据丢了没有关系,换一台就好了,因为本地已经保存了一份

    三、安装Git

    1、mac安装

    brew install git
    

    2、windows安装

    官网下载,直接安装:https://git-scm.com/downloads

    四、Git配置及使用

    • 工作区:开发者的工作目录
    • 暂存区:修改过,但未被录入版本库的区域,git add 表示添加到暂存区
    • 版本库:就是本地仓库,记录日志及版本信息,git commit 表示添加到版本库

    1、进入指定的盘的文件夹中

    cd d:    # 进入d盘
    
    cd ttt      # 进入d盘的ttt文件夹
    

    2、git的配置

    • 最好先配置,否则,后期可能报错是因为没有配置
    $ git config --global user.name '任意用户名'
    $ git config --global user.email '邮箱'
    

    3、git目录的创建

    $ mkdir test  # 在test文件中创建test文件
    

    或者去d盘ttt文件中手动创建test文件

    4、初始化

    $ git init
    

    初始化以后,目录后悔多一个(master),表示捕获

    5、新建一个文件

    $ vim a.py
    

    或者,直接手动建文件

    6、管理文件

    $ ls    # 查看当前文件夹下的文件
    
    $ vim a.py 
       # 按 i 进入编辑模式,
       # 按 esc退出编辑模式
       # 按 shift + :进入命令行模式
       # 按 wq 保存并退出
    
    或者
    去文件夹下手动创建文件
    

    7、查看本地仓库的状态

    $ git status
    

    如果现实下图,说明 a.py 没有被管理,可能是修改过或者新建的文件,没有被提交本地仓库

    8、添加文件

    $ git add a.py(文件名)
    $ git add .     # 添加所有文件
    

    9、再查看一次

    $ git status
    

    添加过以后,再次查看,会显示下图,说明文件到了缓存区,准备提交

    10、提交到本地的仓库

    $ git commit -m '注释的内容' a.py(文件名)
    

    11、查看本地仓库中的文件

    $ git ls-files
    

    12、再查看一次

    $ git status
    

    如图,表示,所有的文件已经被提交到本地仓库中

    13、删除本地仓库的文件

    $ git rm a.py(文件名)
    # 如果不用git ,再本地仓库中不会删除
    

    14、修改过后提交

    $ git commit
    # 或者
    $ git commit -m '添加abc文件' a.py b.py c.py
    

    回车以后,会直接进入编辑模式,然后将注释去掉,按esc,并且wq保存并退出即可

    五、添加到远程仓库

    1、配置

    $ git remote add origin(远程地址的别名,一般为origin) https://gitee.com/ljtyllr/test.git(远程仓库项目地址)
    

    2、把远程代码拉到本地

    保证本地是最新的代码

    $ git pull origin master(分支的名字)
    

    3、本地代码推到远程仓库

    将本地最新的代码提交到远程服务器

    $ git push origin master(分支的名字)
    

    六、团队开发管理

    1、从远程仓库获取最新代码

    $ git clone https://gitee.com/ljtyllr/test.git(远程仓库项目地址)
    

    2、冲突解决方案(谨慎更改他人代码)

    改动别人的文件,容易发生冲突

    (1)提交全部文件

    $ git commit -a 
    

    冲突解决完了,保存退出后,(master|MERGING)就会变成(master)

    (2)不提交全部文件

    $ git commit file/to/path -i -m "merge"
    

    七、查看修改日志

    $ git log    # 查看项目日志
    $ git reflog    # 查看详细信息
    

    越上面版本越新

    八、版本的切换

    $ git reset --hard "head^"   # 一个脱字符表示退到上一层,两个^表示推到上两个版本
    
    $ git reset --hard 5b34fe4  # 跳到指定的版本
    

    丢弃之前的改变

    $ git checkout a.py(文件名)    # 丢弃之前的改变
    

    九、分支管理

    每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。一般从远程仓库中拉到代码,就创建分支,在分支上对代码进行操作

    1、查看分支

    $ git branch
    

    2、创建分支

    $ git branch dev(分支名字)
    

    3、切换分支

    切换到分支上,会自动将master上的代码带过来

    $ git checkout dev(分支名字)
    

    4、合并分支(一般有大哥操作)

    将子分支上(dev)的代码合并到主分支(master)上

    $ git checkout master   # 先切换到主分支
    $ git merge div  # 将子分支上的代码合并到主分支
    

    十、公钥登录

    push代码的时候,老是需要输入用户名和密码,非常不方便。

    因此,配置公钥,可以避免频繁的输入用户名和密码

    1、配置ssh格式的远程仓库

    $ git remote add 远程仓库名 远程仓库地址
    

    2、创建SSH公钥

    $ ssh-keygen -t rsa -C 'your_email@example.com'(邮箱)
    

    一直回车,不用输入密码,完成之后,可以再主目录里找到.ssh文件夹,内有id_rsaid_rsa.pub两个文件, id_rsa是私钥,id_rsa.pub是公钥

    3、到github或者码云中公钥中添加

  • 相关阅读:
    N-Queens
    Pow(x, n)
    Maximum Subarray
    Spiral Matrix
    Jump Game
    Merge Intervals
    Insert Interval
    Length of Last Word
    Spiral Matrix II
    Amazon 面经
  • 原文地址:https://www.cnblogs.com/linagcheng/p/10139947.html
Copyright © 2011-2022 走看看