IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> git 使用总结 -> 正文阅读

[开发工具]git 使用总结

在这里插入图片描述

git 初始化及复制远程代码到本地

$ git init # 初始化一个git仓库
$ git clone '仓库路径' # clone远程分支到本地 (git clone git://git.kernel.org/pub/scm/git/git.git)

git 分支操作

$ git branch branch_name # 创建分支
$ git branch -a # 查看所有分支
$ git merge dev # 合并dev分支 
$ git branch -d dev # 删除分支 
$ git switch -c dev # 切换分支 
$ git switch master # 切换分支
$ git checkout new_branch # 切换到新分支
$ git checkout -b your_new_branch # 创建并切换到新分支(相当于:git branch your_new_branch && git checkout your_new_branch)

git 合并分支,取消合并

# develop分支合并到master分支
$ git checkout master # 1.先切换到master分支
$ git merge develop  # 2.合并develop分支到master
$ git merge --abort # 取消合并

git 暂存,删除,拉取,提交代码

$ git add [file1] [file2] # 添加修改到暂存区
$ git rm [file1] [file2] # 删除本地分支文件
$ git rm --cached filename # 只删除暂存区文件而不会删除本地文件 
$ git status # 查看当前分支的修改情况
$ git stash # 暂存(每次提交前,先暂存本地修改,然后在拉去最新代码,避免冲突)
$ git reset HEAD # 暂存区的目录树会被重写,被 master 分支指向的目录树所替换,但是工作区不受影响
$ git stash pop # 取出暂存区代码(git pull 之后在pop 出本地暂存区代码,然后提交,避免冲突)
$ git pull # 拉取远程最新代码
$ git commit -m 'comment' # 将暂存区内容添加到本地仓库中
$ git commit -am "comment" # (等价于git add file1 && git commit file1) 
$ git push # 推送commit到远程分支
$ git push origin HEAD:master # 基于本地分支推送commit到远程分支
$ git push -u origin master # 将本地的master分支推送到origin主机,并指定 origin 为默认远程分支

查看git 版本,远程,分支版本

$ git version # 查看git版本
$ git remote -v # 查看仓库信息
$ git branch -v # 查看各个分支最后一个提交信息
$ git branch -r # 查看远程分支

git cherry-pick

$ git cherry-pick hashId # 将其他分支的提交同步到当前分支
$ git cherry-pick hash_a_id^..hash_a_id # 将其他分支的提交同步到其他分支
$ git cherry-pick hash_a_id..hash_a_id # 将其他分支的提交同步到其他分支

git 本地分支关联(主机)上游分支

$ git --set-upstream-to=origin/master your_branch # 设置localBranch和主机(origin/master)的关联

以上命令其实可以解决我们日常开发中的大部分工作需要,但是,作为专业程序员的我们,难道就仅仅满足于这点需求?

git 命令之强大令人叹服!

git 基础配置(方便和简化在命令行操作)

# 配置全局用户
$ git config --global user.name "用户名" 
$ git config --global user.email zhansan@qq.com # 如果去掉 --global 参数只对当前仓库有效

# 配置别名alias,方便命令行快速操作,提高工作效率
$ git config --global alias.cko checkout
$ git config --global alias.sta status
$ git config --global alias.comi commit
$ git config --global alias.brn branch
$ git config --global alias.ref reflog

# 定制log的输出形式,实际使用时可以在git lg后面加命令参数,如:git lg -10 显示最近10条提交记录,方便查看,提高效率
$ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)%Creset'"

# 删除全局配置
$ git config --global --unset alias.xxx

查看git 配置信息

# 查看系统配置
$ git config --list
# 查看用户配置
$ cat ~/.gitconfig 
# 查看当前项目的git配置
$ cat .git/config
# 查看暂存区的文件
$ git ls-files
# 查看本地分支所有操作记录
$ git reflog
# 查看所有git命令
$ git --help -a 
# 查看当前HEAD指向
$ cat .git/HEAD

git 查看提交日志操作

$ git log --oneline  # oneline -> 一行一行的显示
          --grep="关键字" # grep="关键字" -> 通过关键字查找日志记录中(commit提交时的注释)
          --before= 1 day/1 week/1 "2019-06-06" # before -> 查找规定的时间(如:1天/1周)之前的记录 
          --after="2019-06-06"
          --stat # stat -> 显示每次更新的文件修改统计信息,会列出具体文件列表
          --graph # graph -> 记录以图形化显示
          --all   # all -> 将所有记录都详细的显示出来
          --author "username"  # git log --author 'admin' -> 通过提交者查询
          --reverse # reverse -> commit 通过倒序查询
          -num # num -> git log -10 显示最近10次的提交记录 
          --abbrev-commit # 缩略式的现实记录
          --pretty=format:"xxx" # pretty=format:"xxx" ->  可以定制要显示的记录格式
  
$ git log --pretty=oneline
$ git log --graph --pretty=oneline --abbrev-commit
$ git log --author 'username'
$ git log --grep="修改" # 查找提交记录中含有'修改'关键字的记录
$ git blame <file>  # 以列表形式查看指定文件的历史修改记录
$ git log --reverse --oneline # --reverse 参数来逆向显示所有日志
$ git log --reverse --oneline # 逆序一行一行的显示

查看git 安装目录

$ where git # Windows: 打开cmd,输入 where git,查看git的安装路径

git查看所有分支操作

$ git reflog # 查看所有分支的操作记录,包括已删除的分支

git 版本回退

$ git reset--hard HEAD^ 
# 回退到指定版本
$ git reset--hard 9a194ffa 
$ git reset HEAD readme.txt #可以把暂存区的修改撤销

git 每次提交输入密码和用户名

$ git config --system --unset credential.helper # 每次拉去代码需要重新输入用户名和密码
$ git config --global credential.helper store # 首次提示输入用户名和密码,后续就不需要再次输入了

参考:https://www.runoob.com/git/git-tutorial.html

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-18 18:03:22  更:2022-04-18 18:05:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 15:05:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码