GIt的基本使用及应用场景

  一、什么是GIT?

  Git 是一个开源的分布式版本控制软件,用以有效、高速的处理从很小到非常大的项目版本管理。

  GitHub、GitCafe、BitBucket和GitLab等是基于Git版本控制的远程文件托管平台。

  使用场景:

  • 无远程:在本地 .git 文件夹内维护历时文件
  • 有远程:在本地 .git 文件夹内维护历时文件,同时也将历时文件托管在远程仓库

  PS: 
      集中式:远程服务器保存所有版本,用户客户端有某个版本
      分布式:远程服务器保存所有版本,用户客户端有所有版本

  二、安装GIT

  参见:http://git-scm.com/

  PS: 注册GitHub、GitCafe、BitBucket和GitLab等账户,以便于将文件托管在远程。

  三、GIT的相关命令

git init   初始化  生成 .git 文件,用于保存git相关所有信息,如:每个版本

git status  查看状态

git add 文件名或.    ‘.‘表示工作区被修改的所有内容    添加到暂存区。

git commit -m ‘对修改内容的描述信息‘     从暂存区提交到分支。

配置用户信息:
git config --local user.name ‘用户名‘ 

git config --local user.email ‘邮箱地址‘

git ls-tree head   查看版本中所有文件

git ls-files -s     查看暂存区和分支中所有文件

git log   查看已生效的操作日志

git reflog  查看所有日志

git reset --hard  后接log里的指定随机字符串    回滚到指定位置

git reset --mix 后接reflog日志里开头的前7位    再回滚到之前指定的位置

git checkout 文件名   切换到指定文件

git stash    将当前已经做过的修改,保存到一个临时地方

git stash pop      临时地方内容重新放回工作区,恢复并删除最近一次保存的内容
    出现冲突,手动解决:
"""
        <<<<<<< Updated upstream
    之前的代码1
        之前的代码2
    =======
    之前的代码1
        之前的代码2
    开发直播功能到一半
        >>>>>>> Stashed changes
        手动解决结果:

        之前的代码1
        之前的代码2
    开发直播功能到一半

"""
git stash apply ‘名称’  恢复指定名称的内容

git stash drop  ‘名称’   删除指定名称的内容

git stash list   查看所有临时空间里的所有内容

git stash clean  清空临时空间里的全部内容

master:只保留线上版本

dev:   保存所有开发版本

git branch dev   创建分支(会copy当前分支,注意当前分支的位置)

git checkout dev  进入dev分支

git checkout master   切换到master分支

git merge dev   合并dev分支,注意必须在master分支上合并

git branch -d dev   删除dev分支

GIT 常用命令

git remote add origin https://github.com/xxx/xxx.git   添加远程连接并取别名 origin

git push origin master   将本地master分支推送至远程仓库

git clone https://github.com/xxx/xxx.git   从远程仓库克隆到本地目录
里面有config文件,自动配置连接地址

git branch dev origin/dev   克隆后只有master分支,同步其他分支

git fetch origin dev   从远程仓库获取最新内容到本地dev分支

git pull origin dev  从远程仓库获取最新内容到本地dev分支的工作区里的原内容区   “劲儿大”

GitHub 常用命令

  详情见图:

时间: 2024-11-14 13:31:55

GIt的基本使用及应用场景的相关文章

git 回退各种场景操作

在git的一般使用中,如果发现错误的将不想提交的文件add进入index之后,想回退取消,则可以使用命令:git reset HEAD <file>...,同时git add完毕之后,git也会做相应的提示,比如: 引用 # Changes to be committed: #   (use "git reset HEAD<file>..." to unstage) # # new file:   Test.scala git reset [--hard|sof

Git使用过程

Git-------目前世界上最先进的分布式版本控制系统(没有之一) 什么是版本控制系统? 说简单点,就是一个文件,对其增加.删除.修改都可以被记录下来,不仅自己可以修改,其他人也可以进行修改 每次对文件的改动后,包含的记录项类似: 版本--也就是文件改动的次数  改动的文件依然存在 ,类似文件的副本 用户--改动文件的人 说明---文件被改动的位置  时间---文件被修改的时间 安装Git Windows系统 git链接:https://git-for-windows.github.io/ 安

Git操作-修改与删除

管理修改 第一次修改 ->git add -> 第二次修改 ->git commit 如果第一次修改git add ,第二次修改还没来的及'git add',此时如果git commit 第二次的修改是没有在版本库的,Git管理的是修改,当你用git add命令后,在工作区的第一次修改被放入暂存区,准备提交,但是,在工作区的第二次修改并没有放入暂存区,所以,git commit只负责把暂存区的修改提交了,也就是第一次的修改被提交了,第二次的修改不会被提交. 第一次修改 -> git

git中.gitignore 文件

现在项目的根目录放了 .gitignore 文件,并且git远程仓库的项目根目录已经有了 logs文件夹. 由于每次本地运行项目,都会生成新的log文件,但是我并不想提交logs文件夹里面的内容,所以要在.gitignore写logs的规则. 我尝试过添加以下规则 logs/*.log logs/ /logs/ 但是运行git status的时候,始终能看到modified:logs/xx.log . 请问是我的规则编写错误,还是我某个地方有理解错误? 回答一: tl;dr: 正确的做法应该是:

GIT基本概念和用法总结【转】

在日常使用GIT过程中,经常会出错,比如无意间丢失了未提交的数据,回退版本时丢失了工作目录,等等.经过思考发现,所有这些错误都是因为对GIT中一些基本的概念模糊而导致,因为对一些基本概念不清晰,导致对GIT每一条命令将会产生的结果不符合预期.下面我就梳理以下我经常碰到的问题相关的基本概念. 1. Working Directory(工作目录) Git的工作目录是保存当前正在工作的文件所在的目录,和working tree是相同的意思.在这个目录中的文件可能会在切换branch时被GIT删除或者替

如何移除git不需要提交的文件

在大公司提交代码都需要经历cr(code review)过程,在用python脚本将代码上传至cr(代码对比工具)服务器时会产生一个issue.info文件,这个文件的内容就是一个issue号,此文件是不需要提交至SVN服务器的,对于有强迫症的程序猿来说是会犯病的! 在执行git status命令时会看到如下场景: 干掉这个讨厌的issue.info文件的方式有两种: 1.执行"rm issue.info"的git命令,git会帮你删除这个文件. 2.在工程目录下的.gitignore

[转] git reset简介

http://blog.csdn.net/hudashi/article/details/7664464 http://guibin.iteye.com/blog/1014369 http://hi.baidu.com/tiger_tnt/blog/item/a0464ffa6a8115d9b58f314d.html http://web.mit.edu/~mkgray/project/silk/root/afs/sipb/project/git/git-doc/git-reset.html 一

GIT学习笔记(持更)

取得git仓库 现存目录 cd此目录.git init git init不会立马出现分支.只有add/commit一次之后,才会出现master分支 从远端已有库克隆 git clone [url] [new name]:最后一个参数可选. git clone命令本质上就是自动创建了本地的 master 分支用于跟踪远程仓库中的 master 分支 只能clone远程库的master分支,无法clone所有分支. 在克隆仓库时,Git 通常会自动创建一个名为 master 的分支来跟踪 orig

廖雪峰Git教程学习笔记

廖雪峰git简单教程学习笔记 教程地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b0001.可以这样设计目录,在d:\reposisoty\ 在这个目录下面有很多的仓库.mkdir learngitcd learngit>>git init          #这样就把learngit 初始化成了一个仓库>>git status        #说明当前仓库的状态并