Git常用命令汇总

1.初始化仓库

初始化仓库即将当前目录加入Git版本控制

mkdir repository
cd repository
git init

2.配置用户名和邮箱

# 当前仓库(目录),此用户下的其他仓库需要重新设置,优先级最高
git config user.name "monkey monkey"
git config user.email "monkey@163.com"
# 全局,这个用户下的所有仓库都可以使用,优先级次之
git config --global user.name "monkey02"
git config --global user.email "monkey02@163.com"
# 系统,使用此电脑的所有用户都可以使用
git config --system user.name "monkey03"
git config --system user.email "monkey03@163.com"
# 配置别名
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
# 查看配置
git config --list
git config --system --list
git config --global --list
git config --local --list
# 删除配置
git config --unset user.name
git config --global --unset user.name

3.配置代理

git config --global http.proxy "http://user:password@xxx.xxx.xxx.xxx:port"
git config --global https.proxy "https://user:password@xxx.xxx.xxx.xxx:port"
git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'

3.添加文件

# 单个文件,多个文件,当前仓库下所有文件
git add read01.md
git add read01.md read02.md
git add .

4.提交变更

git commit -m "add three files";
# 修改上次提交信息
git commit --amend

5.查看仓库状态

Git分为工作区(就是当前的目录),暂存区(.git目录里面,暂时存放修改的地方,可以被丢弃),版本库(提交后到这里)

# 我们的修改都发生在工作区
# git add之后进入暂存区,还可以反悔
# git commit之后进入版本库,没法反悔
# git status可以查看修改到哪个区了
git status

6.版本查看

git log
git log --pretty=oneline

7.版本回退

# HEAD^代表上一个版本,HEAD^^代表上两个版本,HEAD~100代表上100个版本
git reset --hard HEAD^
# 也可以使用HASH值的前几位,不能太少,否则可能会重复
git reset --hard dd683b

8.版本返回

版本回退就像从现在回到了过去,此时,想从过去在回来该怎么办

git reflog
git reset --hard d4d2f67

10.撤销修改

# 丢弃工作区的修改
# 如果是在添加到暂存区后的修改,丢弃后和暂存区一模一样。没有添加到暂存区的修改,丢弃后和版本库的一模一样
git restore read01.md
# 丢弃暂存区的修改,暂存区的所有修改就找不到了
git restore --staged read01.md
# 丢弃版本库的修改
git reset --hard HEAD^

11.远程仓库

# 查看配置的远程仓库
git remote -v
# 添加远程仓库
git remote add origin git@github.com:michaelliao/learngit.git
# 如果使用SSH公钥,需要将本地公钥放到GitHub。如果使用用户名和密码,可以设置存储认证,输入一次就可以了
# 如果使用的是用户名和密码,会借助于windows提供的功能。控制面板---》大图标 ---》凭据管理器
git config credential.helper store
# 推送,origin远程主机名,master本地分支名,master远程分支名,加-u参数会把本地分支和远程分支关联,后续推送拉取可以简化命令
git push -u origin master:master
# 删除远程库,即解除本地与远程库的联系
git remote rm origin
# 克隆远程仓库
git clone git@github.com:michaelliao/learngit.git

12.分支

# 查看分支
git branch
# 创建分支,创建并切换到分支
git branch dev
git switch -c dev
# 切换分支
git switch dev
# 删除分支
git branch -d dev
# 合并分支,合并分支前,要切换回原来的分支
git switch master
git merge dev

参考:廖雪峰Git教程

13.Centos安装git

Centos的YUM仓库中,git的版本较低,如果需要使用最新版本的git,需要使用ius的YUM源

curl https://setup.ius.io|sh
yum list|grep -i ^git
yum install git224.x86_64

14.遇到的问题


解决方法:
git config http.schannelCheckRevoke false


解决方法:
进入GitHub--->Settins--->Developer Settings--->Personal access tokens--->Generate new tokens--->push的时候输入用户名,密码输入刚产生的token

15.linux存储github用户名和密码

git config --global credential.helper store

然后用户名即用户名,密码需要输入产生的token,会生成~/.git-credentials用于存储用户名和token。

posted @ 2022-01-28 20:55  monkey6  阅读(47)  评论(0编辑  收藏  举报