IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Git常见使用(基础项) -> 正文阅读

[开发工具]Git常见使用(基础项)

平台

base on Ubuntu18.04

git基础

git安装

Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具。

$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
  libz-dev libssl-dev
//安装git
$ apt-get install git
//检查git版本
$ git --version
git version 2.7.4

git用户配置

用户信息

$ git config --global user.name "baiy"
$ git config --global user.email test@baiy.com

查看配置信息

$ git config --list
user.name=baiy
user.email=****

git创建本地仓库

git init  //初始化一个仓库
git init newrepo  //指定目录

find . -name ".git" | xargs rm -Rf //删除文件夹下所有.git

git提交流程

git status . //查看当前目录下,git仓库的状态,显示变更的文件,绿色为add过在仓库暂存区, 红色为没add

git diff file.c //如果file.c有变更,则可以查看file.c变更内容

git add file //提交到暂存区
git add -u   //提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
git add .    //提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
git add -A   //提交所有变化

git commit -m "init version" //提交暂存区到本地仓库

git commit -am " "  //将当前目录下的变化提交到暂存和存到本地仓库

git commit --amend //撤销上一次提交,并将暂存区文件重新提交
git commit -a –amend //可修改提交名,ctrl-x退出

git show xxx//查看提交内容

git查看仓库的状态

git log . //查看当前目录下的提交记录
git log --oneline //查看当前分支git仓库所有提交,一行一行的显示

git reflog //可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)

查看git提交记录内容

git show commit_id //查看提交id为commit_id这条提交的修改内容

从暂存区恢复文件

git checkout
git checkout file.c //回退变更file.c到上一次提交

回退git仓库到某一个提交

git reflog //可以查看所有分支的所有操作记录
git reset (--mixed) commit_id   //默认可不写

HEAD回退commit_id这条提交的同时,保留工作目录,并清空暂存区(红)即取消add
1.c工作区 2.c暂存 3.c最后一次添加
1.c工作区 2.c工作 3.c工作
即非commit_id记录的内容全停留在工作区

git reset --soft commit_id 

HEAD回退commit_id这条提交的同时,保留工作目录和暂存区中的内容,并把重置HEAD所带来的新的差异放进暂存区
1.c工作区 2.c暂存 3.c最后一次添加
1.c工作区 2.c暂存 3.c暂存
即非commit_id记录的内容将保存在暂存区

git reset --hard commit_id

将三个分区都还原到commit_id的记录(工作区和暂存区修改的内容将丢失)

撤销某一次的提交

git revert commit_id 

回退commit_id这个提交到上一个版本,并重新生成提交记录

分支操作

git branch //查看分支
-a //包括远程分支
    
git branch dev //新建dev分支
git branch -D dev //删除dev分支

git checkout dev //切换到dev分支,工作区还原到dev分支
git checkout -b dev //新建一个dev分支,并切换到dev分支
git merge dev //合并dev分支到当前分支

生成patch

git format-patch -1 commit_id 
//生成commit_id提交对应的补丁(-n)
git format-patch commit_id 
//生成commit_id提交之后的所有补丁,不包含commit_id这条提交,一个个的
git format-patch commit_id1..commit_2
//生成commit_id1到commit_id2之间的所有提交补丁,不包含commit_id1
git diff [commit sha1 id] [commit sha1 id] > [diff文件名]

应用patch

git apply --check 001-Fix-debug.patch //检查补丁的合法性
git apply 001-Fix-debug.patch   
//合入补丁,修改内容在更新区,并没有提交
git am 001-Fix-debug.patch 
//合入补丁并提交

clone远程服务器

git clone <repo>
git clone <repo> <directory>
//例子
git clone gitProject@192.168.1.xxx:/Project/xxx.git

查看远程仓库地址

git remote -v //查看远程仓库地址信息
git remote add origin xxx@xxx:xxxx.git //配置git远程地址

同步远程分支

git pull            //更新远程仓库分支列表
git pull origin dev //拉取origin对应服务器dev分支到本地,并分本地分支dev目录合并

git fetch origin dev //同步远程服务器git仓库的dev分支到本地仓库origin分支(红色的分支)
git meger origin/dev //合并从服务器同步的dev分支到本地分支(将红色合并本地)

代码推送

git push origin dev 
//推送本地分支修改到origin对应远程服务器git仓库的dev分支

拓展

git仓库被锁

fatal: Unable to create 'D:/go-base/.git/index.lock': File exists.

Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.
rm .git/index.lock

git取消追踪

git rm -rf
git commit -m ""
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-11-16 19:02:43  更:2021-11-16 19:03:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/23 22:44:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计