(办公)git入门(代码片段)

historylyt historylyt     2023-03-09     501

关键词:

      git版本库(分布式版本控制系统),可以记录每次文件的改动,是程序开发的好帮手.

     1.创建版本库:

      repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

  

初始化一个Git仓库,使用git init命令。

添加文件到Git仓库,分两步:

    使用命令git add <file>,注意,可反复多次使用,添加多个文件;
    使用命令git commit -m <message>,完成。

    2.版本回退,工作区和暂存区,管理修改,撤销修改,删除文件.

  • 要随时掌握工作区的状态,使用git status命令。

  • 如果git status告诉你有文件被修改过,用git diff可以查看修改内容。

    现在总结一下:
    
        HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。
    
        穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
    
        要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

    撤销更改

  • 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
    
    场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。
    
    场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库

    删除

  • 命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。

    关联远程仓库

    要关联一个远程库,使用命令git remote add origin [email protected]:path/repo-name.git;
    
    关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
    
    此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
    
    分布式版本系统的最大好处之一是在本地工作完全不需要考虑远程库的存在,也就是有没有联网都可以正常工作,而SVN在没有联网的时候是拒绝干活的!当有网络的时候,再把本地提交推送一下就完成了同步,真是太方便了!

    克隆远程仓库

  • 要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。
    
    Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。

    分支

  • 你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。
    Git鼓励大量使用分支:
    
    查看分支:git branch
    
    创建分支:git branch <name>
    
    切换分支:git checkout <name>
    
    创建+切换分支:git checkout -b <name>
    
    合并某分支到当前分支:git merge <name>
    
    删除分支:git branch -d <name>

    解决冲突,合并分支.

  • 当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
    
    解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。
    
    用git log --graph命令可以看到分支合并图。
    合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

    bug分支

  • 修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
    
    当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。

    Feature分支(功能分支)

  • 开发一个新feature,最好新建一个分支;
    
    如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除。

    多人协作

  •     查看远程库信息,使用git remote -v;
    
        本地新建的分支如果不推送到远程,对其他人就是不可见的;
    
        从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
    
        在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
    
        建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
    
        从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

    rebase(变基,就是变成直线)

  •     rebase操作可以把本地未push的分叉提交历史整理成直线;
    
        rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比。

    忽略特殊文件

  •     忽略某些文件时,需要编写.gitignore;
    
        .gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!
        搭建Git服务器非常简单,通常10分钟即可完成;
    
        要方便管理公钥,用Gitosis;
    
        要像SVN那样变态地控制权限,用Gitolite。

     

 

git快速入门(代码片段)

前篇文章玩转Git入门篇我们已经对Git有了一个大概的了解,接下来我们学习下Git的如何管理项目的。远程仓库Repository(仓库)包含的内容-Git的目标是管理一个工程,或者说是一些文件的集合,以跟踪它们的变化。Git使用Repository来... 查看详情

git入门(代码片段)

git简介git是一个分布式的版本管理工具(都说是很牛逼的一个分布式的版本管理工具)linux安装gitlinux下安装git很简单,只需要一个命令#yum-yinstallgit创建git的数据目录#mkdir/data/gitdir初始化git在/data/gitdit目录中会创建一个隐藏的.git... 查看详情

git入门(代码片段)

目录Github命令操作配置基本信息向仓库添加文件修改仓库文件删除文件远程管理git仓库Error错误代码:![rejected]master->master(fetchfirst)Github命令操作配置基本信息配置用户名:gitconfig--globaluser.name‘Liu0506‘配置用户邮箱信息:gitconfig--g... 查看详情

git入门(代码片段)

1.初始化git,会在home下生成.gitconfig文件。gitconfig--globaluser.namexxxgitconfig--globaluser.email[email protected]2.不使用--global参数时在某项目顶层目录下生成私有配置config,报告单独的名字和邮箱xxx项目目录/.git/config3.需要一个项目的仓... 查看详情

git入门(代码片段)

git初始化设置你的名字和email,这些是你再提交commit时的签名,每次提交记录中都会包含这些信息。使用gitconfig命令进行配置:gitconfig--globaluser.name‘haohj‘gitconfig--globaluser.email‘[email protected]‘执行了上面的命令后,就会在C:... 查看详情

git入门(win10)(代码片段)

Git入门(win10)[Git下载链接](https://git-scm.com/downloads)一、git的下载和安装点击进入下载链接可以看到以下画面:接着按如下的步骤一直Next直到install:点击install安装成功后,打开cmd输入git,效果如下图则证明安装成功:二、创建第... 查看详情

git入门教程(代码片段)

文章目录导语1.Git简介2.Git客户端下载安装3.常用命令3.1设置和配置(SetupandConfig)gitconfig3.2获取或创建项目(GettingandCreatingProjects)gitclone3.3基本快照(BasicSnapshotting)gitaddgitcommitgitstat 查看详情

git入门(代码片段)

1.$gitconfig--globaluser.name"YourName"$gitconfig--globaluser.email"email@example.com"2.pwd命令用于显示当前目录第二步,通过gitinit命令把这个目录变成Git可以管理的仓库:虽然Git告诉我们readme.txt被修改了,但 查看详情

git入门(代码片段)

git简介产生历史2005年,Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是git。git的两个特点版本控制:可以解决多人同时开发的代码问题,也可以解决找回历史代码的问题。分布式:Git是分布式版本控制系统,同... 查看详情

git入门到放弃(代码片段)

git基础入门Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。git的安装下载地址注意:不要安装在中文目录... 查看详情

git-入门到熟悉_日志管理(代码片段)

文章目录Pre常用命令演示PreGit-入门到熟悉_Git基本概念与核心命令Git-入门到熟悉_分支管理Git-入门到熟悉_远程仓库管理在使用Git提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用gitlog命令查... 查看详情

git-入门到熟悉_日志管理(代码片段)

文章目录Pre常用命令演示PreGit-入门到熟悉_Git基本概念与核心命令Git-入门到熟悉_分支管理Git-入门到熟悉_远程仓库管理在使用Git提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用gitlog命令查... 查看详情

玩转git入门篇(代码片段)

最近项目使用到Git管理项目,所以就学习了一番,随然网上关于Git的文章铺天盖地,我还是整理下总结下自己学习Git相关笔记,希望也能帮助到需要他的小伙伴们,O(∩_∩)O~简介Git是分布式版本控制和源代码管理系统,重点使用... 查看详情

git和github快速入门(代码片段)

Git入门简介Git是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的分布式版本控制系统。工具准备工具Git下载地址:https://git-scm.comGit配置配置的内容主要是:用户名和邮箱gitconfig--global--adduser.name<用户名>gitconfig-g... 查看详情

git入门(代码片段)

Github简介github是通过Git进行版本控制的软件源代码托管服务平台,于2008年4月10日正式上线。github除了Git代码仓库托管及基本的Web管理界面以外,它还提供了一些方便社会化共同软件开发的功能,即一般人口中的社群功能,包括... 查看详情

git入门使用(代码片段)

Git是什么? Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。关于Git的诞生,这里还有一个小故事。Linus在1991... 查看详情

git快速入门(代码片段)

Git基本操作讲师的博客:https://www.cnblogs.com/alex3714/articles/5930846.html基本操作看之前自学的时候记的笔记:http://blog.51cto.com/steed/2138687Git的官方文档(有中文):https://git-scm.com/book/zh/v2回滚到上一个版本用下面的命令,可以方便的... 查看详情

git快速入门(代码片段)

1.安装gitmacOS:Git-DownloadingPackageWindows:GitforWindowsLinux:Git2.创建新仓库创建新文件夹,打开,然后执行gitinit创建新的git仓库。3.检出仓库执行如下命令以创建一个本地仓库的克隆版本:gitclone/path/to/repository... 查看详情