• Git的基础使用(一)


    Git版本管理工具的作用:

    (1)完整的记录项目代码变化的过程

    (2)备份每一个变化过程的代码版本

    (3)多人协同开发

     

    1.配置全局变量

    (1)配置用户名

    git config --global user.name '名字'

    (2)配置email

    git config --global user.email '邮箱'

    (3)查看配置

    git config --list

     

    2.项目提交命令

    (1)初始化仓库

    git init --初始化当前文件夹

    git init 文件夹 --初始化指定文件夹

    (2)查看仓库状态

    git status

    (3)添加文件(使新增文件被git追踪或者已被追踪的文件修改后更新追踪)

    git add 文件名 --添加xxx文件

    git add . --追踪所有的文件,包括新增和修改

    (4)提交文件到本地仓库

    a)git commit --提交到本地仓库,需要自己进行文本编辑

    ESC键->:wq退出

    b)git commit -m '提交名称' --提交到本地仓库

    c)git commit -am '提交名称' --提交到本地,将add和commit两步合成一步(只能使用于已经追踪的文件,不能使用于未被追踪的文件,比如:修改后的文件可以使用,新创建的文件不能使用)

    对于新创建的文件如下:

     

    3.日志命令

    (1)git log --查看所有的提交

    (2)git log -p -2 --查看最近两次提交的日志

    (3)git log --oneline --显示每次提交信息的hash值和提交名称

    (3)git log --graph【主要用于不同分支】

    (4)git log --graph --oneline 【主要用于不同分支】

    (5)git log --author='用户名' --查找某个用户提交记录

    (6)git log --pretty=format:"%h - %an,%ar:%s"

    对应:哈希值,用户,提交时间,提交名称

     

    4.对比命令

    (1)git diff 文件 --对比已经被追踪的某个文件前后的修改(one)

    (2)git diff --对比所有已经被追踪的文件的前后对比(all)

    (3)git diff --staged 文件 对比两个文件的差异

    总结:

    git diff 和git diff --staged 的区别在于:git diff是在add之前查看被追踪的文件修改前后的差异;git diff --staged是在add之后,commit之前查看被追踪文件修改前后的差异

     

    5.忽略文件

    在git版本管理工具中,git只能识别.gitignore文件,将文件名称写入到.gitignore文件中,那么git就会忽略这个或者这类文件。

    忽略某个文件夹:/文件夹名称

    忽略具体的某个文件:index.html

    忽略某类文件:*.txt

     

    a)于已经提交或者已经被管理的文件,可以使用git rm -r --cached 文件或者文件夹或者"."来剔除这个文件,让文件处于未被追踪的状态。

    b)将要忽略的文件添加到.gitignore文件中

    c)重新提交

     

     

    6.撤销修改的内容

    (1)git checkout -- 文件名 (撤销的内容是未add之前的内容)

     

    (2)git reset HEAD 文件名 (先将文件从缓存中取出来)

    git checkout -- 文件名 (然后再撤销修改的内容)

    (在add后,commit之前)

     

    7.回退到某个版本(回退后无法返回)

    (1)git reset --hard HEAD^ (回退到上一个版本)

    (2)回退到上上一个版本:git reset --hard HEAD^^ (有多少个^就表示一个版本)

    (3)回退到指定的hash号版本:git reset --hard HEAD hash号

     

    8.回到某个版本(可以找回所有提交版本)

    v1->v2->v3->v4->回到v2操作->v5(本质是v2)

    git checkout hash号 -- . (指所有文件)(回到指定版本)

    git commit -m '名称' 重新提交恢复到指定版本的文件

     

    9.分支操作

    (1)查看当前所有分支,并所处在哪个分支上(*表示所处的当前分支)

    (2)创建分支(相当于创建的时候把master分支拷贝了一份):git branch 分支名称

    (3)切换到xxx分支上:git checkout 分支名称

    (4)创建xxx分支并切换到xxx上:git checkout -b 分支名称

    (5)删除分支(如果你正处于要删除的分支上,那么无法删除这个分支):git branch -d 分支名称

    (5)根据hash值找回分支:git branch 原分支名称 hash值

     

    10.合并分支

    先切换到主分支上,然后:git merge 分支名称(要合并的分支)

     

    11.解决合并分支冲突

    master分支内容如下:

    develop分支内容如下:

     

    步骤一:将develop合并到master上,首先处于master分支上,输入命令:git merge develop ,如果发生冲突,解决冲突。

    方式一:忽略冲突。无法决断使用哪个方案,就忽略合并。命令行:git merge --abort

    方式二:手动合并冲突。将代码中冲突的地方进行手动合并,然后提交,

    合并代码如下:

     

    12.查看版本线路

    git log --oneline --graph --all

     

    13.git使用码云远程仓库

    (1)创建远程仓库

    此时git仓库未创建,需要创建仓库,如下:

    (2)其他分支提交

    (3)将项目克隆下来

    步骤一:git clone 地址

    步骤二:添加需要的分支

     

    方法二:将已经存在的仓库克隆到本地

    步骤一:先初始化本地仓库:git init

    步骤二:将本地仓库和远程仓库进行连接:git remote add 变量名(任取名字) 远程仓库地址

    步骤三:克隆项目到本地:git pull 变量名 master(主分支名称)

    (4)开发过程中的上载和下载

    上载开发的功能:git push

     

    下载:giit pull

     

    (5)远端仓库创建了一个分支,本地仓库没有

    步骤一:目前存在的分支

    步骤二:远端仓库多出一个demo分支

    使用命令行:git pull

    进行更新项目

    步骤三:使用命令行:git checkout demo 将demo分支添加到本地仓库

     

    (6)在本地仓库删除远端仓库分支

    命令行:git push origin --delete 分支名称

     

    (6)仓库迁移

    有两个仓库A,B,将A仓库的项目迁移到B仓库中,如下步骤:

    步骤一:建立仓库B,并输入如下命令:

    git remote set-url origin 新地址

    步骤二:git push --all

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    [v]Linux下安装Git
    Ubuntu12.04 安装PyCharm
    IE11 Enterprise Mode
    Ubuntu 14.04 安装nVidia驱动后不能进入图形界面的恢复过程
    VirtualBox中安装Ubuntu12.04/Ubuntu14.04虚拟机
    Notepad++配置Python开发环境
    boost 1.56.0 编译及使用
    关于"The dependency was added by the project system and cannot be removed" Error
    [v]Windows下Git安装指南
    Windows开发环境搭建(安装 VS2010, VS2013, VS2015 Community, Windows Server 2008 R2)
  • 原文地址:https://www.cnblogs.com/fengjiqiang123/p/15948808.html
Copyright © 2020-2023  润新知