当前位置: 首页 > news >正文

git安装及常用命令

一、安装

1、安装依赖

yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker package

2、下载git

wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz

3、解压git

tar -zxf git-2.9.5.tar.gz

4、进入git目录

cd git-2.9.5

5、预编译git

./configure --prefix=/usr/local/git

6、编译及安装

make && make install

7、配置全局路径

vi /etc/profile
export PATH="/usr/local/git/bin:$PATH" 
source /etc/profile

8、测试

[root@localhost /]# git --version
git version 2.9.5

二、使用git

1、获取git文件

git clone https://gitee.com/anhui-yuanlong-network/gpapi.git

2、拉取

git pull <远程主机名> <远程分支名>:<本地分支名>
git pull
强制拉取
git fetch --all #直接执行 会更新远程的分支数据到本地(如果远程有一个新的分支,本地是没有的,那么会在本地仓库中创建一个新的对应分支)
git reset --hard origin/master
git pull

3、合并推线上

git merge <分支名称>
git push

4、推送

git add . 或者 git add <file> #将本地文件都添加到缓存区里
git commit -m "提交的注释" #提交到本地仓库中
git push #将本地代码推送到远程仓库中

5、回退缓存区

git restore --staged <file> 或者 git restore --staged . #将缓存区的文件回退到工作空间里

6、查看分支

git status #查看当前分支本地的状态
git branch #查看本地分支
git branch -a #所有分支,看到的分支都是快照(自己引入的概念),比如同事在远程上又创建了新的分支,通过这个命令是看不到同事创建的远程分支的。
git branch -r #远程分支 也是看到的是快照。如果不想看到快照,那就得 先git fetch 在git branch -a OR git branch -r

7、创建分支

git branch <新分支的名字> #创建本地新分支
git checkout <分支名> #检出分支
git checkout -b <分支名> #创建并检出本地新分支
git checkout -b <分支名> <远程主机> /<远程分支> #从指定的远程中创建并检出本地新分支
git push origin <本地分支名> :<远程分支名> --set-upstream #创建指定的本地分支到远程服务器上  <远程分支名> 就是你定义的远程服务器上存储的新的分支名。
git push origin <远程分支名> --set-upstream #创建当前的本地分支到远程分支上。 <远程分支名> 就是你定义的远程服务器上存储的新的分支名。

8、删除分支

git branch -d <本地的分支名> #删除本地分支
git branch -d <本地的分支名> #删除本地分支
git branch -r -d  <远程主机>/<分支名> #删除跟踪分支(意思就是你从本地的分支跟远程分支断开了。但是你如果用git pull 或者 git fetch 会把跟踪分支加回来。  具体的表现就是:执行删除命令后,git branch -r 是看不到远程分支的,因为跟踪的分支被你删除了)
git push origin :<分支的名字> #删除远程分支
git push origin -d <分支的名字> #删除远程分支

9、查看日志

git log #如果记录特别多 就 上下键 进行上下翻页。Q就是退出查看
git log --oneline #简洁版
git log --reverse --oneline #逆向展示
git log --author=<用户名> #查看指定用户提交的记录

10、回滚

1、在工作区的代码(checkout ~ 修改工作区文件)git checkout -- a.txt # 丢弃某个文件,或者git checkout -- . # 丢弃全部
2、代码 git add 到缓存区,并未 git commit 提交(reset ~ 修改暂存区文件)git reset HEAD .git reset HEAD a.txt
3、代码 git commit 到本地分支,但没有 git push 到远程 (git reset --hard ~ commit 之后)git log # 得到你需要回退一次提交的commit idgit reset --hard <commit_id> # 回到其中你想要的某个版本git reset --hard HEAD^ # 回到最新的一次提交git reset HEAD^ # 此时代码保留,回到 git add 之前
4、代码 git push 把修改提交到远程仓库 (git reset || git revert)git log # 得到你需要回退一次提交的commit idgit reset --hard <commit_id>git push origin HEAD --force # 强制提交一次,之前错误的提交就从远程仓库删除

11、Linux与windows互转码错误

提交时报错warning: LF will be replaced by CRLF in
配置选项修改 把core.autocrlf 设置成falsegit config --global core.autocrlf true #这个是转换,也是默认值
git config --global core.autocrlf input #貌似是上库转换,从库中迁出代码不转换
git config --global core.autocrlf false #这个一般是window上的,不转换


http://www.mrgr.cn/news/12496.html

相关文章:

  • asp.net core在win上的发布和部署
  • 若依,前后端分离项目,部署到服务器
  • 云端集中管控边缘服务:利用 EMQX ECP 在 K8s 上快速部署 NeuronEX
  • AI创新,DataOps聚能 | 白鲸开源DTCC共话DataOps新篇章
  • Linux操作系统常见面试题
  • Java MR Map Reduce 模型
  • 加速打开gtihub的工具dev-sidecar
  • vs 项目.gitignore设置过滤某个文件夹无效
  • 鸿蒙(API 12 Beta3版)【使用智能PhotoPicker】Media Library Kit媒体文件管理服务
  • 《机器学习》 SVM支持向量机 推导、参数解析、可视化实现
  • 期权交易误区分享:喜欢重仓!
  • 《深入剖析 Spring Boot 中的循环依赖问题及解决方案》
  • 智能计算方法与实现1|禁忌搜索算法|Rastrigin函数|压力容器设计问题
  • zookeeper客户端命令行操作、节点类型及监听器
  • SQL血缘解析
  • 美国洛杉矶服务器地址在哪里?
  • 成功解决:删除WSL2 Ubuntu中的文件后C磁盘空间不释放的问题
  • 畅玩游戏:2024四大远程控制软件推荐!
  • 大模型实战-FinGLM解析金融财报做RAG经验参考篇
  • 深度学习100问10-什么是CBOW模型