首页 > 其他分享 >git命令的学习和基本使用

git命令的学习和基本使用

时间:2023-02-03 01:00:27浏览次数:62  
标签:origin git hash -- 学习 命令 commit 分支

初始化

git init (your_project)

配置

--local  只对当前仓库有效
--global 对当前用户所有仓库有效
--system 对系统登录的所有用户有效
git config --global user.name 'your_name'
git config --global user.email '[email protected]'

显示config配置

git config --list --local(--global/--system)

提交给git管理

git add

提交变更

git commit -m 'message'
git commit -am 'message'

日志信息

git log
git log --oneline
git log -n(最近几次:eg:n4) --oneline
git log --all(所有分支) --graph(图形化)

查看目录信息

ls -al

拷贝文件

cp 要拷贝的文件 拷贝到的文件位置

重命名文件

git mv 原名字 改变成的名字

清除暂存区的变更

git reset --hard

图形化界面

gitk --all

分离头指针

git checkout 某个commit的值(没有绑定任何分支)
git commit -am 'message' 提交变更
git branch 新分支名(绑定上面的commit) 某个commit的值

查看文件信息

git cat 文件名
git cat-file -t hash值
git cat-file -p hash值

对比差异

git diff 第一个hash值 第二个hash值

删除不需要的分支

git branch -d 分支名
git branch -D 分支名

查看分支信息

git branch -av

修改最近一次commit的message

git commit -amend

修改旧的commit的message(多人协作尽量避免操作)

git rebase -i 改变的commit的父亲hash值
=>
进入编辑界面
=>
把要修改的commit前的pick改成r,保存

把多个连续commit合并成一个

git rebase -i 多个commit的父亲hash值
=>
进入编辑界面
=>
把父commit后的要合并的commit的pick都改成s,保存


!!不连续commmit可在编辑界面调整要合并的commit位置到父commit下合并就行

比较暂存区和HEAD所含文件差异

git diff -cached

比较暂存区和工作区所含文件差异

git diff (文件名)

让暂存区恢复和HEAD一样

git reset HEAD <file>

让工作区恢复和暂存一样

git checkout -- <file>

消除最近几次commit

git reset --hard 要回到的commit位置的hash值

比较分支差异

git diff 分支名 分支名 (文件名)
git diff hash值 hash值 (文件名)

删除文件

git rm 文件名

紧急事件暂停当前任务,暂存stage

git stash
git stash pop/apply(apply不会删除暂存区信息)

连接远程仓库

git remote add (改名,默认origin) 远程地址
git remote -v

拉取远程仓库

git fetch origin master
git merge -h(查看merge命令)
git merge (--allow-unrelated-histories) origin/master

不同人处理不同文件

切换分支
git checkout 分支名 origin/远程分支名(将本地创建的分支与远程分支关联)
git branch -v
1、git fetch origin
2、git merge origin/远程分支名
3、git push

不同人修改同个文件不同区域

1、git fetch origin
2、git merge origin/远程分支名
3、git push

不同人修改同个文件相同区域

git commit....
git push...
出现冲突
git merge 远程分支
git pull
修改冲突位置
git commit -am 'message'
git push

同时变更文件名和内容

git push
出现错误,先
git pull
再git push

同时修改同一个文件文件名

git push 
报错
git pull
git报冲突,不对文件修改,自行协商解决

本文由博客一文多发平台 OpenWrite 发布!

标签:origin,git,hash,--,学习,命令,commit,分支
From: https://www.cnblogs.com/tomato2001/p/17087861.html

相关文章

  • c++学习2 基础关键词
    三volatile强制访问内存在一个变量的频繁使用中,系统为了提高效率,会自动将内存里面的数据放入CPU里的寄存器里。但在某些特殊场景下,放入寄存器这个操作反倒会导致CPU无法......
  • 机器学习基本概念
    机器学习基本概念1.基本定义机器学习:是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科。2.机器学习的工作流程1.获取数据2.数据......
  • C语言学习: 快速排序(递归方式)
    1#include<stdio.h>2#include"io_utils.h"3#include<stdlib.h>4#include<time.h>56#definePLAYER_COUNT5078voidSwapElements(intarray[......
  • 《RPC实战与核心原理》学习笔记Day16
    23|如何在没有接口的情况下进行RPC调用?我们什么情况下需要在没有接口时进行RPC调用?列举2个典型场景:我们搭建一个测试平台,允许各个业务方在测试凭条上通过输入接口、......
  • WordPress4.6任意命令执行漏洞
    前言WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也算是一个内容管理系统(CMS)环境搭建docker环境(......
  • Objective-C语法学习 第四天
    关于NSObject和运行时系统类NSObjectOC作为一门动态编程语言,有很多动态的特性,OC不仅需要编译环境,还需要一个运行时系统(runtimesystem)来执行编译好的代码。运行时系统扮演的......
  • 解决:powershell无法使用ssh-copy-id命令
    如果你在配置服务器的免密登陆时出现了如下的error,那这篇文章一定会对你有帮助(zzh是我配置的别名,如果没有配置过,后面跟的参数应该是用户名@ip地址的格式)报错的原因呢,其......
  • go channel学习使用
     出处:https://www.cnblogs.com/jiujuan/p/16014608.html什么是channel管道#它是一个数据管道,可以往里面写数据,从里面读数据。channel是goroutine之间数据通......
  • JavaScript学习笔记—DOM:元素的添加、修改、删除
    appendChild(node):向节点添加最后一个子节点insertAdjacentHTML(position,text):把元素插入到指定位置position:beforebegin-插入到当前元素的前面,即开始标签之前a......
  • C语言学习: 数组打乱
    1#include<stdio.h>2#include"io_utils.h"3#include<stdlib.h>4#include<time.h>56#definePLAYER_COUNT5078voidSwapElement(intarray[]......