git 常用命令行操作

下载安装

下载 git 安装包:下载链接

配置用户信息

安装完 git 后需要配置用户名、邮箱地址

git config --global user.name "wuyanzu"
git config --global user.email "wuyanzu@justforfun.com"

该配置会被写入 C:/Users/用户名文件夹/.gitconfig 文件中。这个文件是 Git 的全局配置文件,配置一次即可永久生效。

检查配置信息
git config --list --global
git config user.name
git config user.email

//get config help
git config -h

git 基本使用

获取git 仓库的两种方式
在现有目录初始化仓库

项目目录下打开 git bash ,执行下面命令将目录转化为 git 仓库。

git init
在服务器上克隆已存在的仓库
git clone SSH/HTTP

常用命令


git status -s //查看文件状态
git checkout xxx //撤销修改
git add xxx //跟踪文件,添加至暂存区
git reset HEAD xxx //取消暂存
git commit -m "descript" //提交更新
git commit --amend //修改提交的描述

移除文件

从 Git 仓库和工作区中同时移除对应的文件

git rm -f index.js

只从 Git 仓库中移除指定的文件,但保留工作区中对应的文件

git rm --cached index.js

查看历史

git log //按时间先后列出所有提交历史
git log -2 //最近2条
git log -2 --pretty=oneline //一行上展示两条历史
git log -2 --pretty=format:"%h | %an | %ar | %s " //自定义格式化展示历史

回退指定版本

git log 
git reset --hard <CommitID> //根据id回退指定版本
git reflog --pretty=oneline //在旧版中查看命令操作的历史
git reset --hard <CommitID> //跳转回原来的版本

github 远程仓库使用

  • HTTPS:零配置;但是每次访问仓库时,需要重复输入 Github 的账号和密码才能访问成功
  • SSH:需要进行额外的配置;但是配置成功后,每次访问仓库时,不需重复输入 Github 的账号和密码
基于 HTTPS

本地没有现成 git 仓库

git init
git add xxx
git commit
//将本地和远程仓库进行关联,并将	远程仓库命名为 origin
git remote add origin https://xxxxxxxxxxxxxxxxx
//将本地内容推送至远程 origin 仓库
git push -u origin master

本地已有现成 git 仓库

//将本地和远程仓库进行关联,并将	远程仓库命名为 origin
git remote add origin https://xxxxxxxxxxxxxxxxx
//将本地内容推送至远程 origin 仓库
git push -u origin master
基于SSH

SSH key 由两部分组成,分别是:

  • id_rsa(私钥文件,存放于客户端的电脑中即可)
  • id_rsa.pub(公钥文件,需要配置到 Github 中)
生成 SSH key
  • 打开 Git Bash
  • 粘贴如下的命令,并将 your_email@example.com 替换为注册 Github 账号时填写的邮箱:
    • ssh-keygen -t rsa -b 4096 -C “your_email@example.com”
  • 连续敲击 3 次回车,即可在 C:\Users\用户名文件夹.ssh 目录中生成 id_rsa 和 id_rsa.pub 两个文件
配置 SSH key
  • 使用记事本打开 id_rsa.pub 文件,复制里面的文本内容
  • 在浏览器中登录 Github,点击头像 -> Settings -> SSH and GPG Keys -> New SSH key
  • 将 id_rsa.pub 文件中的内容,粘贴到 Key 对应的文本框中
  • 在 Title 文本框中任意填写一个名称,来标识这个 Key 从何而来

查看是否配置成功

ssh -T xxx@xxx.com

将本地分支推送到远程仓库

如果是第一次将本地分支推送到远程仓库,需要运行如下的命令

git push -u 远程仓库别名 本地分支名:远程分支名称

git push -u origin payment:pay

注意:第一次推送分支需要带 -u 参数,此后可以直接使用 git push 推送代码到远程分支。

git remote 	show 远程仓库名//可以查看远程仓库中,所有的分支列表的信息

git 分支

git branch 
git branch xxx //新建分支
git checkout xxx //切换分支
git checkout -b //创建指定名称的新分支,并立即切换到新分支上:
合并分支

假设要把 C 分支的代码合并到 A 分支,则必须先切换到 A 分支上,再运行 git merge 命令,来合并 C 分支

git checkout master
git merge login

删除分支

git push 远程仓库名 --delete 远程分支名
示例
git push origin --delete pay

.gitignore

规范

  • 以 # 开头的是注释
  • 以 / 结尾的是目录
  • 以 / 开头防止递归
  • 以 ! 开头表示取反
  • 可以使用 glob 模式进行文件和文件夹的匹配

所谓的 glob 模式是指简化了的正则表达式:

  • 星号 * 匹配零个或多个任意字符
  • [abc] 匹配任何一个列在方括号中的字符 (此案例匹配一个 a 或匹配一个 b 或匹配一个 c)
  • 问号 ? 只匹配一个任意字符
  • 在方括号中使用短划线分隔两个字符, 表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配
    所有 0 到 9 的数字)
  • 两个星号 ** 表示匹配任意中间目录(比如 a/**/z 可以匹配 a/z 、 a/b/z 或 a/b/c/z 等)
示例
# 忽略所有 .a 文件
*.a
# 跟踪所有 lib.a 文件,即使前面忽略了 .a 
!lib.a
# 忽略当前目录下的TODO文件,其他目录不管
/TODO
# 忽略任何 build 文件夹
build/
# 忽略 doc 目录下 txt 文件,子目录下的 txt 文件不忽略
doc/*.txt
妈的这都当注释*/
# 忽略 doc/ 目录及所有子目录的 pdf 文件
doc/**/*.pdf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值