git基本操作(入门级)

article/2025/6/19 3:26:00

写在前面:初次接触git,便想到之前工作,下载跨平台通信库ACL的源代码时的gitHub,于是便借助互联网弄清楚了它们的区别(不过仅供参考)。


关于Git和github区别的参考地址:http://blog.csdn.net/qq_25352981/article/details/49175197

参考优质博文链接:https://www.cnblogs.com/hezhi/p/10166307.html

一开始接触Git或是github的程序员可能搞不太清楚这些名词到底指代的是什么,所以在这里稍微说明一下。git和github是两个完全不同的概念。

git是一个版本管理工具,是可以在你电脑不联网的情况下,只在本地使用的一个版本管理工具,其作用就是可以让你更好的管理你的程序,比如你原来提交过的内容,以后虽然修改了,但是通过git这个工具,可以把你原来提交的内容重现出来,这样对于你后来才意识到的一些错误的更改,可以进行还原,具体有关git的简介,我觉得有一个教程写的非常的详细,比较适合新手的学习,这是链接:Git教程

关于github,这是一个网站,就是每个程序员自己写的程序,可以在github上建立一个网上的仓库,你每次提交的时候可以把代码提交到网上,这样你的每次提交,别人也都可以看到你的代码,同时别人也可以帮你修改你的代码,这种开源的方式非常方便程序员之间的交流和学习。 

github是一个非常适合程序员交流的网站,很多国际上的技术大牛都在github上有自己的开源代码,其他人只要申请个账号就可以随意的看到这些大牛写的程序。同时国内的很多互联网公司如百度,阿里等,也在github上公布有开源的代码,感兴趣的程序员也可以自己查找着看一些。想看国内大公司的代码,可以看连接: 点击打开链接

总结来说,git可以认为是一个软件,能够帮你更好的写程序,github则是一个网站,这个网站可以帮助程序员之间互相交流和学习。

工具/原料

GIT VERSION 2.13

方法/步骤

 

1 从远端程序克隆到本地分支:

在存放程序的文件夹下面,右键单机,选择git bash here.在出现的命令行界面中输入:git clone 远端地址

 

2 在本地创建新的分支:

将目录切换到项目的分目录下,右键单机,选择git bash here.在出现的命令行界面中输入:git branch 分支名称(分支名称一般格式为feature-实现的功能),创建成功后还是存在当前分支。建议在项目中可以根据不同功能创建不同分支。

 

3 切换分支和删除分支;

切换分支:git checkout 分支名;

删除分支:git branch -D 分支名;(这里的-D是彻底删除,当然还有-d,以后讲解区别)

4 查看当前项目中代码状态:git status和git status .  后者代表的是当前项目所有文件

5 将需要提交的文件添加进来:git add 文件目录/文件名;和git add . 后者代表当前目录下所有文件提交到暂存区

 

 

6 提交到本地分支:git commit -m "标签注解",注解主要是对修改的内容的说明,方便查看

 

7 提交到远端分支:git push origin 远端分支名;这里分支名如果远端不存在,上传成功后会自动创建。

 

8 将远端的代码拉到本地分支:git pull origin 分支名;如果有冲突,可以用git status查看有冲突的文件。pull=fetch+merge.fetch是将远端代码拉下来,merge是合并进去。

 

9 取消上次修改:git reset . 返回到上次提交状态。

附录:

Git常用命令

查看、添加、提交、删除、找回,重置修改文件

git help <command> # 显示command的help

git show # 显示某次提交的内容 git show $id

git co -- <file> # 抛弃工作区修改

git co . # 抛弃工作区修改

git add <file> # 将工作文件修改提交到本地暂存区

git add . # 将所有修改过的工作文件提交暂存区

git rm <file> # 从版本库中删除文件

git rm <file> --cached # 从版本库中删除文件,但不删除文件

git reset <file> # 从暂存区恢复到工作文件

git reset -- . # 从暂存区恢复到工作文件

git reset --hard # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改

git ci <file> git ci . git ci -a # 将git add, git rm和git ci等操作都合并在一起做                                    git ci -am "some comments"

git ci --amend # 修改最后一次提交记录

git revert <$id> # 恢复某次提交的状态,恢复动作本身也创建次提交对象

git revert HEAD # 恢复最后一次提交的状态

查看文件diff

git diff <file> # 比较当前文件和暂存区文件差异 git diff

git diff <id1><

id2> # 比较两次提交之间的差异

git diff <branch1>..<branch2> # 在两个分支之间比较

git diff --staged # 比较暂存区和版本库差异

git diff --cached # 比较暂存区和版本库差异

git diff --stat # 仅仅比较统计信息

查看提交记录

git log git log <file> # 查看该文件每次提交记录

git log -p <file> # 查看每次详细修改内容的diff

git log -p -2 # 查看最近两次详细修改内容的diff

git log --stat #查看提交统计信息

tig

Mac上可以使用tig代替diff和log,brew install tig

Git 本地分支管理

查看、切换、创建和删除分支

git br -r # 查看远程分支

git br <new_branch> # 创建新的分支

git br -v # 查看各个分支最后提交信息

git br --merged # 查看已经被合并到当前分支的分支

git br --no-merged # 查看尚未被合并到当前分支的分支

git co <branch> # 切换到某个分支

git co -b <new_branch> # 创建新的分支,并且切换过去

git co -b <new_branch> <branch> # 基于branch创建新的new_branch

git co $id # 把某次历史提交记录checkout出来,但无分支信息,切换到其他分支会自动删除

git co $id -b <new_branch> # 把某次历史提交记录checkout出来,创建成一个分支

git br -d <branch> # 删除某个分支

git br -D <branch> # 强制删除某个分支 (未被合并的分支被删除的时候需要强制)

 分支合并和rebase

git merge <branch> # 将branch分支合并到当前分支

git merge origin/master --no-ff # 不要Fast-Foward合并,这样可以生成merge提交

git rebase master <branch> # 将master rebase到branch,相当于: git co <branch> && git rebase master && git co master && git merge <branch>

 Git补丁管理(方便在多台机器上开发同步时用)

git diff > ../sync.patch # 生成补丁

git apply ../sync.patch # 打补丁

git apply --check ../sync.patch #测试补丁能否成功

 Git暂存管理

git stash # 暂存

git stash list # 列所有stash

git stash apply # 恢复暂存的内容

git stash drop # 删除暂存区

Git远程分支管理

git pull # 抓取远程仓库所有分支更新并合并到本地

git pull --no-ff # 抓取远程仓库所有分支更新并合并到本地,不要快进合并

git fetch origin # 抓取远程仓库更新

git merge origin/master # 将远程主分支合并到本地当前分支

git co --track origin/branch # 跟踪某个远程分支创建相应的本地分支

git co -b <local_branch> origin/<remote_branch> # 基于远程分支创建本地分支,功能同上

git push # push所有分支

git push origin master # 将本地主分支推到远程主分支

git push -u origin master # 将本地主分支推到远程(如无远程主分支则创建,用于初始化远程仓库)

git push origin <local_branch> # 创建远程分支, origin是远程仓库名

git push origin <local_branch>:<remote_branch> # 创建远程分支

git push origin :<remote_branch> #先删除本地分支(git br -d <branch>),然后再push删除远程分支

Git远程仓库管理

GitHub

git remote -v # 查看远程服务器地址和仓库名称

git remote show origin # 查看远程服务器仓库状态

git remote add origin git@ github:robbin/robbin_site.git # 添加远程仓库地址

git remote set-url origin git@ github.com:robbin/robbin_site.git # 设置远程仓库地址(用于修改远程仓库地址) git remote rm <repository> # 删除远程仓库

创建远程仓库

git clone --bare robbin_site robbin_site.git # 用带版本的项目创建纯版本仓库

scp -r my_project.git git@ git.csdn.net:~ # 将纯仓库上传到服务器上

mkdir robbin_site.git && cd robbin_site.git && git --bare init # 在服务器创建纯仓库

git remote add origin git@ github.com:robbin/robbin_site.git # 设置远程仓库地址

git push -u origin master # 客户端首次提交

git push -u origin develop # 首次将本地develop分支提交到远程develop分支,并且track

git remote set-head origin master # 设置远程仓库的HEAD指向master分支

也可以命令设置跟踪远程库和本地库

git branch --set-upstream master origin/master

git branch --set-upstream develop origin/develop

 

版本库

版本库目录

/license_server/usr_cm       依赖库、环境

                       /src             代码

                      /test_case    测试案例

                      /jenkins        自动化脚本

git工作流

  1. 从远程dev分支下载代码到本地develop分支
    对应指令:git clone http://***.git
  2. 更新本地dev分支
    对应指令:git pull origin dev
  3. 在本地dev分支上建立个人分支 personal
    对应指令:git branch personal
  4. 在个人分支上做修改
  5. 需要提交的代码从工作区添加到暂存区
    对应指令:git add .
  6. 将暂存区里的改动提交到本地个人分支
    对应指令:git commit -m "标签注解"
  7. 推送你改动的代码到远程personal分支
    对应指令:git push
  8. 切换到本地dev分支
    对应指令:git checkout dev
  9. 更新本地dev分支
    对应指令:git pull origin dev
  10. 合并个人分支 personal分支代码到本地dev分支
    对应指令:git merge personal
  11. 推送你改动的代码到远程dev分支
    对应指令:git push
  12. 切换到本地personal分支
    对应指令:git checkout personal
  13. 合并本地dev分支到本地personal分支,此时你的本地也是最新代码了
    对应指令:git merge dev

 

 

 


http://chatgpt.dhexx.cn/article/TqqLAeiE.shtml

相关文章

一篇文章,让你彻底学会Git

文章目录 1. 版本控制1.1 常见的版本控制工具1.2 版本控制分类1.3 Git与SVN的主要区别 2. Git介绍1.1 Git 功能特点1.2 Git 和 GitHub 的区别 2. Git 环境配置2.1 软件下载2.2 启动Git2.3 Git配置2.3.1 设置用户名与邮箱 3.Git基本理论3.1 三个区域3.2 工作流程 4. Git 项目搭建…

Git-如何写好一条提交信息

Git-如何写好一条提交信息 本文为翻译文章 原文&#xff1a; How to Write a Git Commit Message 作者&#xff1a; cbeams 1.为什么好的提交信息很重要 如果你曾经打开过任意一个Git仓库的提交历史&#xff0c;你可能会发现它们的提交信息多多少少会有些混乱。 请比较下面两个…

GIT的相关内容

概述 git是一个版本管理工具,它是用于管理对应的代码的版本的。它是一个集中式的代码管理工具(支持分布式)。相同的软件还有svn(集中式版本管理工具,它不具备分布式的功能) svn及git的区别 了解git及svn的区别 Git是分布式的,SVN是集中式的Git复杂概念多,SVN简单易上…

长达万字的git常用指令总结(适合小白及在工作中想要对git基本指令有所了解的人群)建议收藏

本篇文章将对git在工作和学习中需要用到的大部分常用指令作详细解答&#xff0c; 觉得有用的C友们可以点个赞支持一下&#xff0c;你们的支持就是我最大的动力~ 本文总结自廖雪峰老师的文档 欢迎大家关注我的公众号&#xff1a;Smooth前端成长记录 公众号同步更新CSDN博客内容…

Git入门到实战

一、Git 基础 1、什么是Git Git是一个分布式版本控制系统。 版本控制系统是一种用于记录一个或多个文件内容变化&#xff0c;方便我们查阅特定版本修订情况的系统。 示例&#xff1a; 以前在没有使用版本控制的时候&#xff0c;我们通常在我们的项目根目录下这样命名项目&am…

git操作笔记

查询git命令 $ git --help 概述 Git是开源的分布式版本控制系统&#xff0c;git可以有效、高速地处理从很小到非常大的项目版本管理。 git 瘦身 解决 .git文件夹过大的问题&#xff0c; .git文件主要用来记录每次提交的变动&#xff0c;当我们的项目越来越大的时候&#xff0…

Git相关使用

私人博客 许小墨のBlog —— 菜鸡博客直通车 系列文章完整版&#xff0c;配图更多&#xff0c;CSDN博文图片需要手动上传&#xff0c;因此文章配图较少&#xff0c;看不懂的可以去菜鸡博客参考一下配图&#xff01; 系列文章目录 前端系列文章——传送门 后端系列文章——传送…

cmd命令安装python第三方库_Python如何安装第三方库

Python如何安装第三方库 [版权申明] 非商业目的注明出处可自由转载 博文地址:https://blog.csdn.net/cdpxc/article/details/108808780 出自:cdpxc 注:笔者是在D盘直接安装了Anaconda (https://www.anaconda.com/)并非直接安装的Python (https://www.python.org/downloads/)…

基于区块链的数字版权保护介绍

一、数字版权定义&#xff1a; 各类出版物、信息资料的网络出版权&#xff0c;可以通过新兴的数字媒体传播内容的权利。包括制作和发行各类电子书、电子杂志、手机出版物等的版权。 各国家对于数字版权作品的定义不一。以中国为例&#xff0c;主要数字版权作品包括以电子图书、…

2018年博客之星,需要您宝贵的一票!

很荣幸入选了CSDN博客之星候选&#xff0c;既然入选了&#xff0c;那么我还是想全力以赴&#xff01;虽然比不上其他大佬那么优秀&#xff0c;但还是希望大家多多支持&#xff01; 请投 003 号&#xff1a;LovelyBear2019 一票 投票地址 https://bss.csdn.net/m/topic/blog_…

方波中的毛刺

在FPGA设计中&#xff0c;经常要对外部输入的信号捕捉上升沿。 在某些设计中&#xff0c;外部输入信号为方波信号&#xff0c;由比较器输出。 如上图&#xff0c;比较器输出方波后&#xff0c;电路设计欠佳&#xff0c;产生抖动&#xff0c;下降沿产生毛刺&#xff0c;如果FPG…

html版权登记怎么打,版权符号怎么输入_Html版权符号怎么打

版权符号怎么输入 版权符号©的4种输入方法 版权符号©有很多种方法可以实现,如下: ??1、按住Alt键不放,然后输入169。松开Alt键后,就可以打出©号来,此法只适合于Win2000或Win2000以上的版本。(特别注意:输入的这些数字必须使用键盘右边的那些数字键才有效…

面试官让我聊聊jmeter性能全流程测试,我忍不住哭了

做性能测试的步骤 1、服务器性能监控 首先要在对应服务器上面安装性能监控工具&#xff0c;比如linux系统下的服务器&#xff0c;可以选择nmon或者其他的监控工具&#xff0c;然后在jmeter模拟场景跑脚本的时候&#xff0c;同时启动监控工具&#xff0c;这样就可以获得jmeter…

JMeter压测常见面试问题

1、JMeter可以模拟哪些类型的负载&#xff1f; JMeter可以模拟各种类型的负载&#xff0c;包括但不限于Web应用程序、API、数据库、FTP、SMTP、JMS、SOAP / RESTful Web服务等。这使得JMeter成为一个功能强大且灵活的压力测试工具。 2、如何配置JMeter来进行分布式压力测试&a…

首网推荐!自动化测试——频次最高的23道jmeter面试题及答案!

全B站仅此一家&#xff01;Jmeter接口测试&#xff0c;学到就是赚到&#xff01; 1、解释什么是JMeter&#xff1f; JMeter是一款Java开源工具&#xff0c;用于性能负载测试。它旨在分析和衡量Web应用程序和各种服务的性能和负载功能行为。 2、说明JMeter的工作原理&#xff1f…

面试题---jmeter

面试中遇到的问题&#xff1a; 1. 如何使用Jmeter进行并发测试 2. 如何设置并发量为1000 3. 如果http请求每个都不一样&#xff0c;如何配置 4. 如何设置sessionID 一、安装配置 1. 在Terminal中输入命令&#xff1a; ruby -e "$(curl -fsSL https://raw.githubuse…

9月最新Jmeter面试题

1、Jmeter的关联用到了哪些方法去实现 接口的响应结果通常为 html 和 Json 格式的数据&#xff0c;主要会用到正则提取器、Json 提取器、Xpath 器以及边界值提取器&#xff0c;还有 beanshell 来进行数据的提取。 对于 html 这种响应结果我们通常会用正则或者是 Xpath 来进行…

jmeter面试题及答案(jmeter接口自动化测试面试题)

JAVA面试试题 是啊&#xff0c;java程序开发是吗&#xff1f; 如果自己以前学过编程的话&#xff0c;应该知道考这的话&#xff0c;就是一些基础的语法知识&#xff0c;然后给一个运用性的来让你编程和调试程序。你应聘的是哪个职业,要想清楚的,到迅雷上面可以下载很多很多,推…

软件测试jmeter面试问题,jmeter 面试题剖析实战

最近有个学生反馈&#xff0c;自己在面试的时候&#xff0c;遇到一个 jmeter 题目&#xff0c;要我帮忙看下&#xff0c;题目如下&#xff1a; 进入http://www.weather.com.cn/网站&#xff0c;用jmeter编写脚本实现如下操作(下列要求在同一个测试脚本) : (1)编写获取北京天气紫…

高频面试题解析:jmeter 面试题剖析实战

最近有个分析反馈&#xff0c;自己在面试的时候&#xff0c;遇到一个 jmeter 题目&#xff0c;要我帮忙看下&#xff0c;题目如下&#xff1a; 进入http://www.weather.com.cn/网站&#xff0c;用jmeter编写脚本实现如下操作(下列要求在同一个测试脚本) : (1)编写获取北京天气紫…