常用命令
查看当前文件夹下的文件与文件夹:ls
ll
进入当前文件夹下的user
文件夹:cd ./user
查看当前文件夹下的test.txt
文件:cat ./test.txt
返回上一级目录:cd ..
当前目录:cd .
退出vim编辑器::wq
本地库的创建
命令:git init
签名
需要用户名
和邮箱
,用于区分开发人员,类似与身份证。
签名类别:
-
项目级别
仅在当前项目下生效
命令:git config user.name TestUser
git config user.email TestUser@qq.com
信息保存位置:./.git/config文件
cat ./.git/config
-
系统级别
当前操作系统(Windows、Linux等)的用户
命令:git config --global user.name TestUser_glo
git config --global user.email TestUser_glo@qq.com
信息保存位置:cat ~/.gitconfig
基本操作
查看状态
命令:git status
查看工作区、 暂存区状态
将文件添加到暂存区
将文件test.txt
添加到暂存区命令:git add test.txt
将工作区的“新建/修改” 添加到暂存区
将当前目录下所有文件夹与文件添加到暂存区:git add .
将文件从暂存区删除
命令:git rm test.txt
资源管理器中的文件也会被删除
提交
命令:git commit -m "message" test.txt
将暂存区的内容提交到本地库
将暂存区的所有内容提交到本地库
git commit -m "message" .
不带-m
命令:git commit .
按ESC后:wq退出
查看日志
git log
git log --online
git reflog
HEAD指针指向当前使用的版本
版本回退/前进操作
- 基于索引值操作[推荐]
git reset --hard [局部索引值]
- 使用~符号: 只能后退
git reset --hard HEAD~n
n表示后退n步
参数对比:
-
–hard 参数
在本地库移动 HEAD 指针
重置暂存区
重置工作区 -
–mixed 参数
在本地库移动 HEAD 指针
重置暂存区 -
–soft 参数
在本地库移动 HEAD 指针
删除文件并找回
删除前, 文件存在时的状态提交到了本地库
操作: git reset --hard [指针位置]
以前的版本存在test.c文件,但是当前版本没有test.c,可以回退到上一个版本实现找回删除的文件
分支
主干的副本
分支操作
-
创建分支
git branch [分支名] -
查看分支
git branch -v -
切换分支
git checkout [分支名] -
合并分支
第一步: 切换到接受修改的分支(被合并, 增加新内容) 上
git checkout [被合并分支名]
第二步: 执行 merge 命令
git merge [有新内容分支名]
冲突的解决
冲突的解决
- 第一步: 编辑文件, 删除特殊符号
- 第二步: 把文件修改到满意的程度, 保存退出
- 第三步: git add [文件名]
- 第四步: git commit -m “日志信息”
注意: 此时 commit 一定不能带具体文件名
github
为远程库设置别名
先在github创建一个库
获取远程库的链接
查看当前所有远程地址别名git remote -v
设置别名git remote add [别名] [远程地址]
推送到远程服务器
推送git push [别名]/[远程服务器地址] [分支名]
推送必须基于最新版本
报错解决方法
git config --global http.sslVerify "false"
github用户名密码管理
Windows凭据管理器
从远程服务器下载
推送git clone [别名]/[远程服务器地址]
邀请其他成员
拉取
pull=fetch+merge
- git fetch [远程库地址别名] [远程分支名]
- git merge [远程库地址别名/远程分支名]
- git pull [远程库地址别名] [远程分支名]
解决冲突
要点
- 如果不是基于 GitHub 远程库的最新版所做的修改, 不能推送, 必须先拉
取。 - 拉取下来后如果进入冲突状态, 则按照“分支冲突解决” 操作解决即可。
类比
- 债权人: 老王
- 债务人: 小刘
- 老王说: 10 天后归还。 小刘接受, 双方达成一致。
- 老王媳妇说: 5 天后归还。 小刘不能接受。 老王媳妇需要找老王确认后再
执行。
冲突的解决
- 首先pull
- 编辑文件, 删除特殊符号
- 把文件修改到满意的程度, 保存退出
- git add [文件名]
- git commit -m “日志信息”
注意: 此时 commit 一定不能带具体文件名 - 再push
SSH登录
- 进入当前用户的根目录
cd ~
- 删除.ssh 目录
rm -rvf .ssh
- 运行命令生成.ssh 密钥目录
ssh-keygen -t rsa -C 邮箱地址
注意: 这里-C 这个参数是大写的 C - 进入.ssh 目录查看文件列表
cd .ssh
ls -lF
- 查看 id_rsa.pub 文件内容
cat id_rsa.pub
- 复制 id_rsa.pub 文件内容, 登录 GitHub, 点击用户头像→Settings→SSH and GPG
keys - New SSH Key
- 输入复制的密钥信息
- 回到 Git bash 创建远程地址别名
git remote add [别名] [SSH的远程地址] - 推送文件进行测试