Git基本操作-命令行

bash 复制代码
#获取git版本
git --version
#在本地文件夹下初始化一个新的git仓库,创建成功后ls -al可以看到.git的隐藏仓库
git init

#1.暂存操作:工作区->暂存区

#暂存指定文件 git add 文件名
git add 123.txt
#暂存所有改动的文件
git add .
#查看暂存区文件列表
git ls-files
#查看暂存区和工作区状态
git status
#清空暂存区(工作区不变)
git reset

#2.提交操作:暂存区->本地仓库

#暂存足够多之后可以提交,提交时必须写描述
git commit -m "提交描述"
#查看提交日志(回滚会消失)
git log
#查看提交日志(优化版)
git log --pretty=oneline --all --graph --abbrev-commit
#commit回滚
git reset --hard 提交的id(用git log查询id)
#git log加强版,可以查看所有提交日志(回滚也不会消失)
git reflog
#暂存区覆盖工作区的内容(工作区修改的内容不想要,想恢复之前暂存的内容)
git restore


#首次获取代码
git clone 仓库地址
#后续拉取代码
git pull 仓库地址

#从远程库抓取到本地仓库,但不进行合并操作
git fetch
#合并
git merge

分支操作:

bash 复制代码
#查看当前所在分支
git branch
#创建新的分支: git branch 新分支名 (但仍停留在当前分支)
git branch dev
#安全删除分支(删除分支前需要进行各种检查): git branch -d 分支名
#不能删除当前所在的分支,得先切换到其他分支再执行删除
git branch -d dev
#强制删除分支: git branch -D 分支名
git branch -D dev
#切换分支 git checkout 分支名
git checkout dev01
#新建并切换分支(例如新建dev01并切换到dev01分支)
git checkout -b dev01
#合并分支,比如当前在master分支,想将dev01分支合并入master分支,执行
git merge dev01

解决冲突

bash 复制代码
提示需要解决冲突后,修改冲突代码,然后重新提交一次
git add .
#不需要写comment
git commit
#进入vim
:wq保存

远程仓库

推送代码

bash 复制代码
#在本地仓库配置添加一个远程仓库origin(默认远程仓库就是这个名字)
#(一个本地仓库可以对应多个远程仓库)
git remote add origin 远程仓库的地址
git remote add origin git@10.12.3.163:my_group1/my_project1.git
#如果执行没有报错代表配置成功
#查看远程仓库
git remote

#推送代码到远程仓库 git push 远程名称 本地分支名:远程分支名
git push origin master:master
#简化版本
git push origin master
#强制用本地的覆盖远程的加-f
git push -f origin master
# --set-upstream 推送到远端的同时建立起与远端分支的关联联系
#第一次push带绑定关系后,以后只需要git push就行
git push --set-upstream origin master:master
#查看绑定关系
git branch -vv

下载代码

git clone

bash 复制代码
#从远程仓库第一次拉取代码
#可以在后面跟一个目录名,会保存在该目录,如果不加,默认就是项目名称创建文件夹,如my_project1
git clone git@10.12.3.163:my_group1/my_project1.git
#结束后会在当前目录生成my_project1的文件夹

后续继续拉取最新代码

直接执行git pull,不用带参数,拉取+合并到本地

bash 复制代码
git pull

git fetch + git merge方法

bash 复制代码
#抓取到本地,但不会合并
git fetch
#再手动合并origin/master到本地
git merge origin/master

合并到本地的时候也会产生冲突,解决冲突的方式与之前相同

1.安装git

2.设置

安装过后首要任务就是设置用户名和邮箱

bash 复制代码
#git config --global user.name 你的用户名
git config --global user.name "tom"
#git config --global user.email 你的邮箱
git config --global user.email "hello@example.com"
#设置完后检查是否设置成功
git config --global user.name
git config --global user.email

3.为常用指令配置别名

bash 复制代码
#新建配置文件
touch .bashrc
#编辑配置文件
vim .bashrc
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
alias ll='ls -al'
#使配置生效
source .bashrc

4.新建忽略配置

在目录下创建.gitignore文件,在文件中定义不需要上传的

bash 复制代码
touch .gitignore
#定义规则
vim .gitignore
#规则
#1.可以直接写文件名,文件会被自动忽略,不会commit
123.txt
#2.也可以写通配符,如所有以.doc结尾的文档
*.doc

5.设置SSH登录(可选)

bash 复制代码
#在本机生成密钥对
ssh-keygen -t rsa
#不断回车,如果公钥已存在,会自动覆盖
#获取公钥
cat ~/.ssh/id_rsa.pub



#密钥备份
mv ~/.ssh ~/.ssh.bak
相关推荐
炸膛坦客3 小时前
Git 和 GitHub:(十四)rebase 到某个有新提交的远程仓库的分支
git·github
炸膛坦客17 小时前
Git 和 GitHub:(十二)基于远程仓库的某一个分支的某一笔提交创建新分支
git·github
炸膛坦客18 小时前
Git 和 GitHub:(十三)改分支名
git·github
他们叫我秃子18 小时前
Git 使用指南笔记:从入门到团队协作
git
铁锚1 天前
Git设置自动推送到同名远端分支
git
起个破名想半天了1 天前
Git 本地项目关联远程仓库教程
git·github·git教程
lazy H1 天前
Git worktree 怎么用?同时开发多个分支完整教程
大数据·git·后端·学习·搜索引擎·github
重生的黑客1 天前
Git 本地版本管理与分支管理:从零理解工作区、回退、冲突与开发流程
数据库·git·elasticsearch
Cx330_FCQ2 天前
Tmux使用
服务器·git·算法