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

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 id
	git reset --hard <commit_id> # 回到其中你想要的某个版本
	git reset --hard HEAD^ # 回到最新的一次提交
	git reset HEAD^ # 此时代码保留,回到 git add 之前
4、代码 git push 把修改提交到远程仓库 (git reset || git revert)
	git log # 得到你需要回退一次提交的commit id
	git reset --hard <commit_id>
	git push origin HEAD --force # 强制提交一次,之前错误的提交就从远程仓库删除

11、Linux与windows互转码错误

提交时报错warning: LF will be replaced by CRLF in
配置选项修改 把core.autocrlf 设置成false

git config --global core.autocrlf true #这个是转换,也是默认值
git config --global core.autocrlf input #貌似是上库转换,从库中迁出代码不转换
git config --global core.autocrlf false #这个一般是window上的,不转换


http://www.kler.cn/a/280837.html

相关文章:

  • CSS3【待总结学习】
  • C++编程语言——基础设施:类型和声明
  • Java基础:什么是多态
  • ★ 算法OJ题 ★ 力扣1089 - 复写零
  • 如何在手机上设置国内代理IP地址:详细指南
  • boost库容器之Circular Buffer功能介绍,及使用示例
  • 算法练习题02:ISBN码
  • LeetCode Hot100:15、三数之和
  • metagpt指南浅谈
  • trackgo 学习笔记
  • Dubbo ZooKeeper Spring Boot整合
  • 阿里云Ubuntu系统安装/简单使用Kafka
  • 学习一下Appium 常用方法介绍
  • poi-tl 在一个word里写入另一个word,保持word内容无变化
  • 动手学深度学习(pytorch)学习记录19-参数管理[学习记录]
  • C# FTP 读取文件列表,大小,时间
  • 通过小程序进度条了解Linux下的多文件操作
  • 【数据结构入门】排序算法之插入排序与选择排序
  • python自动化脚本:让工作自动化起来
  • WPF判断窗口是否已经关闭