精华内容
下载资源
问答
  • git的使用

    千次阅读 2018-02-02 20:33:49
    git clone 地址 C:\Users\Administrator\.ssh ssh密钥放到码云上。 提交:进入到项目文件夹内 右击,git bash Here git status git add . //本地提交,-a 提交所有文件 m message 日志 git ...
    git clone 地址


    C:\Users\Administrator\.ssh
    ssh密钥放到码云上。


    提交:进入到项目文件夹内
    右击,git bash Here
    git status


    git add .
    //本地提交,-a 提交所有文件   m message 日志
    git commit -am “提交修改啦”


    //推送到远程仓库,提交之前要git pull
    git push


    //远程代码更新到本地
    git pull




    //帮助说明
    git.oschina.net/progit


    //注意添加的是个人公钥
    //无提交权限Please make sure you have the correct access rights
    and the repository exists.
    删除C:\Users\Administrator\.ssh
    重新生成 ssh-keygen  回车 回车
    展开全文
  • GIT的使用总结

    万次阅读 2019-12-23 11:25:27
    文章目录前言GIT的使用GIT在linux系统的安装设置姓名与邮箱创建本地仓库创建文件提交到暂存区提交到仓库查看状态查看不同查看LOG版本回退撤销修改删除文件错删文件的恢复创建SSH KeyGitHub添加公钥Gitee添加公钥...

    前言

    本文章对GIT的学习做一个简单的总结,方便查阅,毕竟那么多条指令不可能全部记下来,以后会持续更新
    GIT的教程可以参考廖雪峰老师官方网站,确实写的很通俗易懂,也可以参考菜鸟教程
    如果我的理解不对,欢迎评论交流

    GIT的使用

    GIT在linux系统的安装

    $ sudo apt-get install git
    

    设置姓名与邮箱

    $ git config --global user.name "Your Name"
    $ git config --global user.email "email@example.com"
    

    –global:表示你这台机器上所有的Git仓库都会使用这个配置

    查看配置信息

    $ git config --list
    

    创建本地仓库

    $ mkdir glx
    $ cd glx
    $ git init
    

    以上是创建一个新的目录作为仓库,也可以使用指定目录创建仓库

    $ git init newrepo
    

    找个合适的位置新建英文目录

    创建文件

    $ touch readme.txt
    $ vi readme.txt
    

    提交到暂存区

    $ git add readme.txt
    

    编辑完成后,保存,提交到暂存区

    提交到仓库

    $ git commit readme.tx -m "first version" 或
    $ git commit -m "first version" 
    

    可以提交单个文件,也可以一次性全部提交,所谓的提交是将暂存区的文件提交
    -m 可以添加提交的版本注释信息

    查看状态

    $ git status
    

    此命令要多用,显示工作区、暂存区和仓库的状态

    查看不同

    $ git diff
    

    查看工作区与暂存区的不同

    $ git diff --cached
    $ git diff --staged
    

    查看暂存区与仓库的不同

    $ git diff HEAD
    

    查看工作区、暂存区与仓库的不同

    $ git diff <分支名1> <分支名2>
    

    比较两个分支最后一次提交的不同

    查看LOG

    $ git log
    

    显示所有提交过的版本信息,不包括已经被删除的 commit 记录和 reset 的操作

    $ git log --oneline
    $ git log --pretty=oneline
    

    每个提交都用单行显示

    $ git reflog
    

    显示所有的操作记录,包括提交,回退的操作

    $ git log --graph
    

    查看分支合并图

    版本回退

    $ git reset --hard 版本号
    

    版本号可以用log或者reflog查到的版本号,也可以在HEAD的基础上往前
    HEAD:当前版本
    HEAD^:前一个版本
    HEAD^^:前两个版本
    HEAD~100:前100个版本

    撤销修改

    $ git checkout -- filename
    

    工作区编辑出错了,可以丢弃工作区的修改
    如果还没添加到暂存区,则执行后和仓库相同
    如果已经添加到暂存区,则将暂存区的内容恢复到本地
    – :如果不添加此参数,将会切换到另外一个分支

    $ git reset HEAD filename
    

    如果提交到暂存区的内容有问题,可以将其撤销掉,工作区不受影响

    删除文件

    $ git rm filename
    

    删除后,同样需要commit提交
    如果利用linux命令rm了文件,同样需要再用git rm一次

    $ git rm --cached filename
    

    删除暂存区的文件,工作区不受影响

    错删文件的恢复

    $ git checkout -- filename
    

    如果删错了文件,可以从仓库中恢复

    文件重命名

    $ git mv filename newname
    

    重命名后,需要commit提交到仓库才有效

    创建SSH Key

    $ ssh-keygen -t rsa -C "youremail@example.com"
    

    查看本地家目录有没有.ssh或者id_rsa和id_rsa.pub
    如果没有的话,可以用以上指令新建一个ssh密钥
    id_rsa是私钥,id_rsa.pub是公钥

    GitHub添加公钥

    在github的设置中,添加本地的公钥
    添加步骤

    Gitee添加公钥

    在这里插入图片描述

    GitHub关联本地仓库

    如果先创建了本地仓库,那么需要在github创建一个new repository,起个名字,其余设置默认,如图所示创建出了一个空仓库
    在这里插入图片描述

    $ git remote add github git@github.com:RainsDog/glx.git
    

    将本地仓库关联到github的对应仓库

    Gitee关联本地仓库

    在这里插入图片描述

    git remote add gitee git@gitee.com:RainsDog/glx.git
    

    本地仓库推送到远端

    $ git push github master
    

    推送本地的master分支到github,推送成功后,可以在github查看到已经有了master分支和本地推送的文件
    此命令还可以加-u参数,在推送时设定默认远端仓库的位置,如果只用github或者只用gitee一个远端仓库,可以加这个参数,下一次推送可以直接用git push,拉取直接用git pull即可

    克隆远端仓库到本地

    $ git clone git@github.com:RainsDog/glx.git
    

    此命令会在本地创建一个叫glx的目录,并将远端的文件拉取过来
    推荐使用ssh协议进行克隆

    $ git clone git@github.com:RainsDog/glx.git ggg
    

    将远端仓库克隆到本地的ggg目录

    本地仓库克隆到本地

    $ git clone glx ggg
    

    将本地仓库克隆到本地的ggg目录

    拉取远端仓库的信息

    $ git pull github master   
    

    拉取远端的master分支到本地,也可以用以下命令

    $ git fetch github master
    $ git merge github master
    

    git pull = git fetch + git merge

    拉取远端的非master分支

    $ git checkout -b dev github/dev
    

    在拉去master分支后,可以继续拉去dev分支

    查看远程仓库的信息

    $ git remote
    $ git remote -v
    

    带参数-v可以查看更详细的信息

    删除与远端的关联

    $ git remote rm origin
    

    可以先用git remote查看有那些关联,然后进行删除

    创建新的分支

    $ git checkout -b dev
    

    创建新的分支,并切换过去

    $ git switch -c dev
    

    switch是新版本增加的写法

    查看所有分支

    $ git branch
    

    切换到指定分支

    $ git checkout master
    
    $ git switch master
    

    switch是新版本增加的写法

    合并分支

    $ git merge dev
    

    合并dev分支到当前分支

    $ git merge --no-ff -m "merge with no-ff" dev
    

    合并的时候,强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息

    删除指定分支

    $ git branch -d dev
    

    保护现场

    $ git stash
    

    切换到其它分支前,将正在工作,且未提交的分支保存起来

    查看保护现场

    $ git stash list
    

    恢复现场

    方式1-先恢复,后删除

    $ git stash apply
    $ git stash drop
    

    方式2-恢复的同时删除

    $ git stash pop
    

    方式3-恢复到指定现场

    $ git stash apply stash@{现场序号}
    

    复制提交

    $ git cherry-pick 版本号
    

    复制一个特定的提交到当前分支

    删除分支

    普通删除

    $ git branch -d 分支名
    

    强行删除

    $ git branch -D 分支名
    

    变鸡操作

    $ git rebase
    

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

    打标签

    $ git tag V1.0
    $ git tag V1.0 版本号
    $ git tag -a V0.1 -m "version 0.1 released" 版本号
    

    可以给指定的版本打标签
    打标签时,可以用-a指定标签名,用-m增加说明信息

    查看标签

    $ git tag
    $ git show V1.0
    

    如果知道标签的名字,可以用show查看具体信息

    删除标签

    $ git tag -d V0.1
    $ git push github:refs/tags/V0.1
    

    删除本地标签,第一条就可以,如果要同时删除远端的标签,则需要两条都执行

    推送标签

    $ git push github 标签名
    $ git push github --tags
    

    –tags可以一次性推送全部标签

    Git自定义选项

    $ git config --global color.ui true
    

    Git会适当地显示不同的颜色

    忽略特殊文件

    在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件,并且把.gitignore也提交到Git

    查看忽略规则

    git check-ignore -v App.class
    

    查看app.class这个文件是否被忽略

    配置别名

    $ git config --global alias.st status
    $ git config --global alias.co checkout
    $ git config --global alias.ci commit
    $ git config --global alias.br branch
    $ git config --global alias.unstage 'reset HEAD'
    $ git config --global alias.last 'log -1'
    

    st表示status,co表示checkout,ci表示commit,br表示branch,还可以用字符串进行替换

    删除别名

    如果是用global设置的,在家目录的.gitconfig文件中,否则在仓库的.git/config文件中
    例如:
    [alias]
    last = log -1

    展开全文
  • 【提交代码】:(1)选中该项目文件,右键,Git提交 (2)填写提交信息、查看修改文件及修改代码(对比) (3)只是将文件提交到本地仓库。提交到线上需要使用命令 git push 使用gitstatus 查看状态。 ...

    【前戏】:得在HubilderX中找到  "工具"->"插件安装" -> "Git插件" 。

    【提交代码】:(1)选中该项目的文件,右键,Git提交

    (2)填写提交信息、查看修改文件及修改代码(对比)

    (3)只是将文件提交到本地仓库。提交到线上需要使用命令 git push 

    使用git  status 查看状态。

    至此可以提交成功了。

    -------------完。
     ———————————————— 
    版权声明:本文为CSDN博主「柠檬不萌但很酸」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/Miss_liangrm/article/details/100132430

    展开全文
  • 工作中git是一项必不可少的技能,在项目的开发进程中起着至关重要的作用,下面介绍一些git在工作中...本文介绍了Git是什么、Git的存储结构、Git的提交规则和一些工作中常会用到的git操作的过程,最后总结了常用的命令。

    工作中git是一项必不可少的技能,在项目的开发进程中起着至关重要的作用,下面介绍一些git在工作中的一些使用实践~

    一:前言

    Git的定义是:分布式版本控制系统,用于项目开发中的版本控制。

    从本质上来讲 Git 是一个内容寻址(content-addressable)文件系统,并在此之上提供了一个版本控制系统的用户界面。

    Git 的核心部分是一个简单的键值对数据库(key-value data store)。 你可以向该数据库插入任意类型的内容,它会返回一个键值,通过该键值可以在任意时刻再次检索(retrieve)该内容。

    git管理的项目工作目录下的每一个文件都不外乎这两种状态:已跟踪或未跟踪。

    • 已跟踪的文件是指那些被纳入了版本控制的文件,在上一次快照中有它们的记录,在工作一段时间后,它们的状态可能处于未修改,已修改或已放入暂存区。
    • 工作目录中除已跟踪文件以外的所有其它文件都属于未跟踪文件,它们既不存在于上次快照的记录中,也没有放入暂存区。
    • 初次克隆某个仓库的时候,工作目录中的所有文件都属于已跟踪文件,并处于未修改状态。

    Git 保存的不是文件的变化或者差异,而是一系列不同时刻的文件快照。在进行提交操作时,Git 会保存一个提交对象(commit object)。该提交对象会包含一个指向暂存内容快照的指针。 但不仅仅是这样,该提交对象还包含了作者的姓名和邮箱、提交时输入的信息以及指向它的父对象的指针。

    如果转载此博文,请附上本文链接,谢谢合作~ :https://liyangyang.blog.csdn.net/article/details/100939749

    如果感觉这篇文章对您有所帮助,请点击一下“喜欢”或者“关注”博主,您的喜欢和关注将是我前进的最大动力!

    微信扫下述二维码关注公众号,回复“源码”,即可免费获取“经典飞机大战源码 + 经典像素鸟游戏源码 + 人事管理系统源码 ”!
    匠心Java*

    二:git存储

    git将项目的存储分为4部分,每部分有自己作用,见下图:(图片来自:博客)
    在这里插入图片描述

    • Workspace:工作区(当前用户操作修改的区域)
    • Index / Stage:暂存区 (add后的区域)
    • Repository:仓库区或本地仓库(commit后的区域)
    • Remote:远程仓库(push后的区域)

    整体过程可以简述为:

    • 工作区–>add–>暂存区–>commit–>本地仓库区–>push–>远程仓库区
    • 远程仓库区–>fetch–>使用refs\remotes下对应分支文件记录远程分支末端commit_id 和 本地仓库区 -->merge–>工作区
    • 远程仓库区–>pull–>使用refs\remotes下对应分支文件记录远程分支末端commit_id and 本地仓库区 and 工作区

    git pull和git fetch有什么不同呢?下面简单说一下

    想要知道他们得不同,我们需要先了解两个概念

    • FETCH_HEAD:可以看做是一个版本链接,记录在本地的refs\remotes下对应分支文件中,指向着目前已经从远程仓库取下来的分支的最新版本的commit_id。
    • commit-id:在每次本地commit来保存当前工作到本地仓库区后, 会产生一个commit-id,这是一个能唯一标识一个版本的序列号。 在使用git push后,这个序列号还会同步到远程仓库。

    所以他们之间的不同在于:

    • git pull 直接将远程分支的修改更新到本地仓库区和本地工作区,我们就可以在本地工作区中看到最新代码
    • git fetch 只将远程分支的修改拉取到本地仓库,并更新到FETCH_HEAD,记录远程分支最新的commit_id,不会更新本地工作区代码,只有使用了git merge 才会将提交更新到本地仓库区和工作区

    其他想要了解更多git内部消息请移步我的另一篇博文:git内部存储实现机制

    git status中的体现,见下图:
    在这里插入图片描述

    • Changes to be committed::代表被add的文件,被加载到了暂存区
    • Changes not staged for commit:代表在当前分支中被修改的文件,还没有被add,存储在工作区
    • Untracked files :代表不被git追踪的文件,可以理解为不被git管理的文件
    • 如果没有Changes to be committed和Changes not staged for commit说明现阶段所有的修改已经被commit到本地仓库
    • 如果git status后出现下述情况,说明还有已经的commit到本地仓库的还未被push到远程仓库
    $ git status
    On branch master
    Your branch is ahead of 'origin/master' by 2 commits.
      (use "git push" to publish your local commits)
    

    Git 作为一个系统,是以它的一般操作来管理并操纵(HEAD、index、Working Directory)三棵树的

    • HEAD: 是当前分支引用的指针,它总是指向该分支上的最后一次提交。 这表示 HEAD 将是下一次提交的父结点。 通常,理解 HEAD 的最简方式,就是将它看做 你的上一次提交的快照。
    • index: index索引是你的 预期的下一次提交。 我们也会将这个概念引用为 Git 的 “暂存区域”,这就是当你运行 git commit 时 Git 看起来的样子。Git 将上一次检出到工作目录中的所有文件填充到索引区,它们看起来就像最初被检出时的样子。 之后你会将其中一些文件替换为新版本,接着通过 git commit 将它们转换为树来用作新的提交。
    • Working Directory:最后,你就有了自己的工作目录。 另外两棵树以一种高效但并不直观的方式,将它们的内容存储在 .git 文件夹中。 工作目录会将它们解包为实际的文件以便编辑。
      在这里插入图片描述

    三:git提交规则

    首先,有个问题需要确认一下,提交信息是使用中文还是英文呢?

    如果你的项目是开源项目并且面向国际的开源项目,类似于阿里的Druid\PingCAP的TiDB等,那么一定要是用英文提交信息的!
    如果你的项目是公司内部使用或者只会被公司内部开发修改,那么中文也是不错的,更加便于查看和管理。当然,开发组中的英文能力都不错的话,用英文也是可以的。

    分支Branch管理:
    如果没有一个好的branch管理的话,可能会有下述图的情况,刺不刺激~
    在这里插入图片描述
    推荐的分支管理:

    • master 分支为主分支(保护分支),禁止直接在master上进行修改代码和提交,此分支的代码可以随时被发布到线上;
    • develop 分支为测试分支或者叫做合并分支,所有开发完成需要提交测试的功能合并到该分支,该分支包含最新的更改;
    • feature 分支为开发分支,大家根据不同需求创建独立的功能分支,开发完成后合并到develop分支;
    • fix 分支为bug修复分支,需要根据实际情况对已发布的版本进行漏洞修复;

    标签Tag管理:
    Tag采用三段式:v版本.里程碑.序号(v2.3.1)

    • 架构升级或架构重大调整,修改第1位
    • 新功能上线或者模块大的调整,修改第2位
    • bug修复上线,修改第3位

    当然,可以根据实际情况来设计,比如项目特别大,可以使用四段表达Tag,项目比较小也可以使用二段式Tag,只要符合场景并有实际意义即可
    Tag相关:Tag管理

    提交信息格式:
    下面只是提供一种建议格式,大家可以根据自己的项目实际情况来定格式,只要能把当前提交表达清楚,格式统一,方便快速阅读和定位即可!

    • 建议中文示例:

      • <新功能>(urllAnalyz) 添加解析url功能l
      • <修改>(TestServiceImpl) 修改某功能的某个实现为另一个实现
      • <Bug修复>(TestUnti) 修复url特殊情况下解析失败问题 (issue#12)
      • <重构>(getData) 重构获取数据的方法
      • <测试>(getDataTest) 添加(修改、删除)获取数据的单元测试代码
      • <文档>(doc)修改(添加、删除)文档
    • 对应到英文:

      • feat:新功能(feature)
      • style: 格式
      • fix:修补bug
      • refactor:重构
      • test:测试相关
      • docs:文档(documentation)
    • 格式(type:scope:body:issue)
      <|新功能|修改|Bug修复|重构|测试>(影响模块)提交描述信息(#issue?)

    • 优点作用

      • 与github数据issue关联,便于通过issue获取更多信息
      • commit 提交时,格式统一,便于后续快速准确定位提交
      • 可以更好的将此次提交表述清楚

    四:Git操作过程

    初始化项目,并上传到git服务器

    基本过程: 创建远程仓库、初始化本地git仓库、将本地仓库与远程仓库关联起来、添加本地仓库想要提交的代码到本地git缓冲区,将本地仓库的本地分支与远程仓库的远程分支关联起来、提交代码

    1. 在git服务器上创建同名git项目,并获取http地址

    2. 本地git初始化项目git仓库,在项目目录下
      git init

    3. 将本地git仓库和远程仓库关联起来,并设置远程仓库名称
      git remote add <name> <http地址>

    其中http地址为上述第一步获取的远程仓库的地址,name一般为origin,当然也可以设置其他的名字
    例如:git remote add origin http://igit.corp.com/my/test.git

    1. 添加项目文件到本地git缓冲区
      git add -A
      git commit -m ‘初始化项目’
      或者
      git commit -a -m ‘初始化项目’

    2. 将本地分支关联远程分支并提交,git默认在远程分支上创建于本地分支同名的分支
      git push --set-upstream origin master

    这就是将本地的master分支 与 origin远程仓库关联起来并在远程仓库创建同名master分支,以后本地master都提交到远程仓库中的origin/master分支上。
    upstream:上游的意思

    1. 至此,应该就可以了,我们可以在git服务器上刷新看看是否提交上去了

    提交某一分支的修改

    1. 查看当前分支的修改
      git status
    2. 查看想要查看的文件的修改
      git diff <file_name>
    3. 确认正确后,提交修改到暂存区
      git add -A 或者 git add <file_name> <file_name>
    4. 提交到本地仓库
      git commit -m '提交信息'
    5. 提交到远程仓库
      git push

    拉取远程分支修改到本地分支

    当远程分支别人推了一版新的代码时,我们想要将代码拉下来,可以采用两种方式pull 和 fetch+merge:(他们的不同点文章上面已经解释)

    使用pull:

    1. 将远程分支最新代码更新合并到本地仓库区和工作区
      git pull

    使用fetch:

    1. 将远程所有分支最新的commit_id更新到FETCH_HEAD,记录远程分支最新的commit_id 和 本地仓库区
      git fetch
    2. 将最新的代码合并到工作区
      git merge

    取消track某一文件

    1. git rm -r --cache <file_name>

    untrack后,使用commit -a 时,不会将其添加到暂存区中

    1. 之后会在.ignore文件中将该untrack的文件添加进去,完成

    保存账号密码,避免每次push都要输入(简单方法)

    1. 确保在git中手动输入过账号和密码
    2. 输入下面语句即可
      git config --global credential.helper store

    暂存自己的修改,便于接着工作(特别有用)

    如果你正在一个分支上工作修改,leader让你改另外的分支的BUG或者对其他的分支做一些操作。
    我们知道如果一个分支上有还没有commit的修改的话,不可以切换分支,但是又因为自己的工作还未完成,不想commit,此时git stash 就起作用了。
    你要把现在正在工作的分支保存下来,等处理完其他的再回来接着当前分支的修改工作。

    1. 将当前分支的修改暂存起来(此处不等于add+commit)
      git stash

    备份当前的工作区的内容,从最新的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。
    同时,将当前的工作区修改的内容保存到Git栈中暂存起来。

    1. 切换到别的分支工作,完成后切换回原来的工作分支,查看暂存列表
      git stash list

    显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复

    1. 恢复暂存的修改到工作区
      git stash apply <stash_name> 恢复暂存之后不删除暂存

    从Git栈中读取最新一次保存的内容,恢复工作区的相关内容。

    git stash pop 恢复暂存之后删除暂存

    从Git栈中读取最新一次保存的内容,恢复工作区的相关内容。之后pop会删除最新的暂存。

    1. 删除“暂存”
      git stash drop <stash_name>

    从Git栈删除最旧的一个暂存

    1. 结束

    将文件修改回退到某一状态
    一些已经提交的或者已经修改的部分,想要再修改一下,或者删除已经提交的

    1. 删除某些commit,将head重定位到某一commit(回溯到以前的版本)
      git reset --hard <commit_id> 注意!!! 此步骤会将commit_id前的所有commit修改删除
      或者 git reset <commit_id> 此步骤不会将commit_id前的commit删除,而是会将修改回退到本地工作区
      git push origin HEAD --force 此步骤将服务器方也设置为相commit

    2. 将文件修改恢复到当前已提交分支的原样(未 git add 情况下)
      撤销修改就回到和版本库一模一样的状态,即用版本库里的版本替换工作区的版本
      git checkout -- <file_name>

    3. 将文件修改恢复到当前已提交分支的原样(已经 git add 情况下)
      git reset HEAD 将add退回
      git checkout -- <file_name>

    4. 将文件修改恢复到已提交分支的原样(已经 git commit 情况下)
      git reset <commit_id> 此处commit_id可以是任意分支的commit_id
      git checkout -- <file_name>

    版本的回溯与前进
    有时候需要回溯或前进到以前的版本 或 回溯前进到以前的commit

    只要记住commit_id就可以在版本之间来回的穿梭,注意是可以“来回”穿梭哦

    1. 获取需要回溯到版本的commit_id
      git log --> 复制所需的版本commit_id
    2. 回退到该版本
      git reset --hard <commit_id>
    3. 如果想让服务器也回退到该版本的话
      git push origin HEAD --force

    五:Git常用命令

    初始化项目为git项目
    git init

    clone服务器代码到本地
    git clone <http_url>

    添加修改文件到暂存区
    git add <file_name>
    git add -A 添加所有修改文件到暂存区

    提交修改到本地仓库
    git commit -m '提交信息'
    git commit -a -m '提交信息' 相当于git add -A + git commit -m 的整合

    提交本地仓库的修改到远程仓库
    git push

    将远程库<remote_name>的远程分支<branch_name>作为当前分支的上游分支
    git push --set-upstream <remote_name> <branch_name>
    <remote_name>为远程仓库的别名,一般为origin

    查看文件本次的修改
    git diff 显示本次所有被修改文件的修改
    git diff <file_name> 显示该文件本次的修改

    查看当前分支下当前状态
    git status 显示出被修改的文件和提交的次数等

    查看提交历史
    git log
    git log --graph 查看分支合并图

    merge其他分支到当前分支
    git merge <branch_name>

    在merge过程如果出现冲突,在解决冲突后会产生一个新的commit,并且HEAD指向该commit
    如果没有冲突,HEAD会在分支的最新commit上

    切换到上一个分支
    git checkout -

    切换到其他分支
    git checkout <branch_name>

    在某一分支基础上创建新分支
    git checkout <branch_name> 切换到基础分支
    git checkout -b <new_branch_name> 在当前分支基础上 创建新分支

    显示分支
    git branch 所有本地分支
    git branch -r 所有远程分支
    git branch -a 所有分支,本地和远程

    删除本地分支
    git branch -D <branch-name>

    删除远程分支
    git push origin --delete <branch-name>

    添加一个新的远程仓库
    git remote add <shortname> <url>

    在同一个项目的git url中可以添加多个远程仓库
    每个仓库相互隔离有自己的分支管理

    将本地分支与远程仓库中分支联系起来
    git push --set-upstream <远程仓库名称> <远程仓库中分支名称>

    以后本地的该分支的push,会默认提交到设置的远程仓库中远程分支中

    删除远程仓库
    git remote rm <远程仓库name>

    删除本地tag
    git tag -d <tag_name>

    删除远程tag
    git push origin :refs/tags/<tag_name>

    查看tag信息
    git show <tag_name>

    暂存当前修改
    git stash

    查看暂存列表
    git stash lsit

    恢复暂存的修改
    git stash apply (恢复后不删除暂存)
    git stash pop (恢复后删除暂存)

    删除暂存
    git stash drop

    撤回已经add到暂存区的文件到本地工作区
    git reset HEAD <file_name>
    git reset HEAD 回退所有add

    add会被标识为Changes to be committed,取消add后标识为Changes not staged for commit(不等于untrack)

    取消track某一文件
    git rm -r --cache <file_name>

    untrack后,使用commit -a 时,不会将其添加到暂存区中

    只merge某一个分支上的某一个commit
    git cherry-pick <被merge分支中的某一个commit的commit-id>

    撤销在本地工作区的文件的修改
    撤销修改就回到和版本库一模一样的状态,即用版本库里的版本替换工作区的版本
    git checkout -- <file_name>

    删除某些commit,将head重定位到某一commit(回溯到以前的版本)
    git reset --hard <commit_id>
    git push origin HEAD --force 此步骤将服务器方也设置为相commit

    删除本地在远程服务器上不存在的分支
    git remote prune origin

    拉取远程分支到本地
    git fetch origin <branch_name>

    新建一个tag到指定commit
    git tag <tag_name> <commit_id>
    git tag <tag_name> 当前commit

    取消当前合并,重建合并前状态
    git merge --abort

    总结

    本文介绍了Git是什么、Git的存储结构、Git的提交规则和一些工作中常会用到的git操作的过程,最后总结了常用的命令。Git在工作中的团队开发中起着至关重要的作用,希望本篇文章可以对大家有些许帮助~

    推荐阅读:
    shell-【技术干货】编写shell脚本所需的语法和示例
    Git - 使用git不知道内部实现机制怎么行

    参考:博客 博客 git官网

    如果转载此博文,请附上本文链接,谢谢合作~ :https://liyangyang.blog.csdn.net/article/details/100939749

    如果感觉这篇文章对您有所帮助,请点击一下“喜欢”或者“关注”博主,您的喜欢和关注将是我前进的最大动力!

    展开全文
  • vscode集成git及git的使用

    万次阅读 2018-07-08 21:56:17
    第一步,下载git安装包,安装完git后配置环境变量 “D:\git\Git\cmd”,win+R打开cmd输入命令git验证是否安装成功,在任意路径...为了方便,可以把vscode终端配置成git,同样在用户设置文件里进行操作类似操作...
  • Eclipse中git的使用

    万次阅读 2018-01-17 15:03:25
    Eclipse中git的使用 概述 git在eclipse中的配置和远程仓库中关联,这里不再累述,如果有问题可以参考下面博客:这里有详细的说明。 http://blog.csdn.net/hhhccckkk/article/details/10458159 问题 下面...
  • 版本控制工具Git的使用(一)

    万次阅读 2019-11-02 11:10:06
    GIt和SVN的对比,Git的使用:创建版本库、工作区和暂存区、版本回退、撤销修改、删除文件、远程仓库
  • Git的使用--如何将本地项目上传到Github

    万次阅读 多人点赞 2017-04-14 15:35:20
    直到昨天做完百度前端技术学院的task,想把代码托管到Github上的时候发现自己对于Git的操作是如此之愚钝,所以今天决定把Git好好学习一遍,好让自己以后能更好地使用Github,主要还是通过Git教程 - 廖雪峰的官方...
  • VS2015 git的使用

    千次阅读 2017-01-03 17:09:44
    git的使用,现在拿出来讲实在是落伍之极,之前因为种种原因总是尝试了一下就放弃了,最近认真弄了下方觉之前不用实在是坑之又坑的事情! 因为本人主要做的是PC平台的开发,因此用的是VS2015,本篇也是记录下VS2015...
  • git的使用和常用命令总结

    万次阅读 2020-06-05 12:01:26
    git的下载地址: Git 官方下载地址:https://git-scm.com/download/win 一、Git操作的基本结构 工作区(Workspace):基本文件的存放区(开发位置) 暂存区(Index/Stage):基本文件添加到暂存区后才会被Git管理...
  • Android Studio Git的使用-基于GitLab

    万次阅读 2016-11-11 16:19:14
    Android Studio Git的使用-基于GitLab 公司最近开始使用Git管理代码,使用的是GitLab. 学习了GitLab的使用,以及Android Studio集成Git进行代码管理。 记录一下! 1.Android Studio集成Git AndroidStudio集成Git,...
  • Windows下 Git Bash下git的使用

    万次阅读 2017-12-27 18:52:21
    对于刚要学习git的人,推荐去看《GitHub入门与实践》这本书,这是一本入门级别的书,里面介绍了git和github的使用方法,其中对于git命令的讲解通俗易懂。 如果要学习git更高级的用法,可以去:...
  • Eclipse 中git 的使用

    万次阅读 2018-04-11 20:06:50
    前提:1、 git 服务器访问URL , 账户及密码 .(这里的Git服务器是公司私有的Git服务器,...进入正题, Eclipse中集成Git使用Git , 首先git集成,有两种方式, 这里介绍简单,如下:直接通过Import 将Git服务上...
  • 最近在idea中使用git遇到两次对我来说比较大问题。 其一,有一天同事发现自己写代码不见了,不管是其他同事更下来代码,还是自己本地代码都不见了,后来找到原因是别人给冲掉了。很不幸,这个冲掉代码人...
  • Idea中关于Git的使用

    万次阅读 多人点赞 2018-10-12 14:26:25
    git是现代开发中离不开的一个话题,一个程序员不会使用git多多少少有点说不过去,对于一个被git为难过多次的程序员,这次... 首先我们先来看一下git的常用命令图, 从上图我们不难看出,git总共分成四个部分,其...
  • HbuilderX中的git的使用

    千次阅读 2019-08-29 11:42:44
    【提交代码】:(1)选中该项目文件,右键,Git提交 (2)填写提交信息、查看修改文件及修改代码(对比) (3)只是将文件提交到本地仓库。提交到线上需要使用命令 git push 使用git status 查看状态。...
  • python下Git的使用

    千次阅读 2018-08-14 13:51:28
    git的版本库(仓库):代码储存文件等的地方本地仓库:机本。仓库远程仓库:充当“中央服务器”,不同用于节点之间进行代码交换的地方克隆:复制分支:不同分支做不一样的事,协同用于开发标签:用于标注版本信息的...
  • webstorm中Git的使用

    万次阅读 2017-03-16 16:18:28
    关于webstorm在Git的使用Git 版本控制工具,是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 GitHub 一个网站,提供给用户创建git仓库,保存用户的一些数据文档或者...
  • Mac下git的使用

    千次阅读 2019-06-09 18:14:20
    首先查看电脑是否安装Git,终端输入: git --version 1)通过homebrew安装Git 未安装homebrew,需安装homebrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" ...
  • 全面介绍Android Studio中Git 的使用(一)

    万次阅读 2017-10-13 14:18:00
    转自:http://blog.csdn.net/gao_chun/article/details/49817229全面介绍Android Studio中Git的使用前言:本篇博文将记录如何在Android Studio中使用Git版本控制系统,这货在草稿箱里已经放了起码有两个月了吧,老躺...
  • 全面介绍Android Studio中Git 的使用(一)

    万次阅读 多人点赞 2015-11-13 14:05:55
    GitHub:基于Git的项目托管平台,简单的说就是一个网站,通过注册账号后,可以使用Git服务,它提供了可以在上面创建资源仓库的Web页面,通过shell命令或者图形用户界面可以和远程项目同步更新,对项目进行管理。...
  • 相关文章:关于验证是否存在ssh配置以及生成SSH Key的方法可以参照文章:Git使用手册:生成SSH Key关于SSH Key的使用和公钥在gitHub、gitLab的配置等,请参考文章:Git使用手册:使用SSH Key及配置SSH key公钥关于GIT...
  • Idea中Git的使用和两种类型的冲突解决

    万次阅读 多人点赞 2017-06-16 17:35:03
    这五个按钮的使用说明及在idea中如何配置和使用git可参考https://github.com/DayThink/IntelliJ-IDEA-Tutorial/blob/newMaster/vcs-introduce.md 本文主要讲解在Idea中利用git遇到的两种冲突(提交代码时发生冲突和...
  • MyEclipse集成Git的使用

    万次阅读 2016-05-24 23:37:08
    MyEclipse已经集成了Git插件EGIT,在新建里可以搜到Git。 如果没有,安装方式为Help》Install From Catalog》搜索Git,找到Eclipse EGit Eclipse Git Team Provider,安装即可。 或者Install From site 地址为...
  • 别名配置方法 $ git config --global alias.st status $ git config --global alias.co checkout $ git config --global alias.ci commit $ git config --global alias.br branch $ git config --global ...
  • vs code中git的使用

    万次阅读 2018-03-13 18:17:23
    1、首先要下载‘msysgit’然后安装到电脑要不然vscode中的git是不能用,安装教程如:http://blog.csdn.net/zrcj0706/article/details/795439492、如果远程仓库已存在项目(本文以码云为例),直接使用git bash...
  • Linux GIT 的使用方法详解

    万次阅读 2016-08-22 17:50:01
     Git 仓库就是那个.git 目录,其中存放是我们所提交文档索引内容,Git 可基于文档索引内容对其所管理文档进行内容追踪,从而实现文档版本控制。.git目录位于工作目录内。  1) 工作目录

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 135,588
精华内容 54,235
关键字:

git的使用