git基础-01
发布日期:2021-06-29 12:06:54
浏览次数:4
分类:技术文章
本文共 5743 字,大约阅读时间需要 19 分钟。
获取帮助
若你使用 Git 时需要获取帮助,有三种等价的方法可以找到 Git 命令的综合手册(manpage):
$ git help$ git --help$ man git-
例如,要想获得 git config
命令的手册,执行
$ git help config
这些命令很棒,因为你随时随地可以使用而无需联网。 如果你觉得手册或者本书的内容还不够用,你可以尝试在 Freenode IRC 服务器 上的 #git
或 #github
频道寻求帮助。 这些频道经常有上百人在线,他们都精通 Git 并且乐于助人。
此外,如果你不需要全面的手册,只需要可用选项的快速参考,那么可以用 -h
选项获得更简明的 “help” 输出:
git配置
# C:\Program Files\Git\etc\gitconfig 系统# C:\Users\zmj\.gitconfig 用户git config -lgit config --system --listgit config --global -l$ git config --global user.name "[name]"对你的commit操作设置关联的用户名$ git config --global user.email "[email address]"对你的commit操作设置关联的邮箱地址$ git config --global color.ui auto启用有帮助的彩色命令行输出git config --global user.name "钟马俊"git config --global user.email 674495630@qq.com
忽略文件
在GIT项目中可以在项目根目录添加**.gitignore**文件的方式,规定相应的忽略规则,用来管理当前项目中的文件的忽略行为。.gitignore 文件是可以提交到公有仓库中,这就为该项目下的所有开发者都共享一套定义好的忽略规则。在.gitignore 文件中,遵循相应的语法,在每一行指定一个忽略规则。.gitignore忽略规则简单说明file 表示忽略file文件*.a 表示忽略所有 .a 结尾的文件!lib.a 表示但lib.a除外build/ 表示忽略 build/目录下的所有文件,过滤整个build文件夹;
创建创库
当着手于一个新的仓库时,你只需创建一次。要么在本地创建,然后推送到 GitHub;要么通过 clone 一个现有仓库。$ git initgit init [name]在使用过 git init 命令后,使用以下命令将本地仓库与一个 GitHub 上的空仓库连接起来:$ git remote add origin将现有目录转换为一个 Git 仓库$ git clone Clone(下载)一个已存在于 GitHub 上的仓库,包括所有的文件、分支和提交(commits)
基本操作
- 添加到暂存区
# 添加到暂存区use "git add..." to include in what will be committedgit add <[file]|.|*>
- 删除
# 从工作区和暂存区删除git rm -f...# 从暂存区删除# use "git rm --cached ..." to unstage# use "git restore --staged ..." to unstagegit restore --staged ...git rm --cached ...git reset head
- 撤销工作区的更改
# use "git add..." to update what will be committed# 撤销工作区的更改# use "git restore ..." to discard changes in working directorygit restore ...
- 移动或重命名
# 重命名git mv
- 提交
# commitgit commit -mgit commit -a -m
- checkout将暂存区或者某个commit点文件恢复到工作区
git checkout [commit] -- [file]e.g. 将a.jpg文件恢复,不写commit表示恢复最新保存的文件内容git checkout -- a.jpg
- 回退版本
# git reset 命令git reset 命令用于回退版本,可以指定退回某一次提交的版本。git reset 命令语法格式如下:git reset [--soft | --mixed | --hard] [HEAD]--mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。git reset [HEAD] # 实例:$ git reset HEAD^ # 回退所有内容到上一个版本 $ git reset HEAD^ hello.php # 回退 hello.php 文件的版本到上一个版本 $ git reset 052e # 回退到指定版本--soft 参数用于回退到某个版本:git reset --soft HEAD# 实例:$ git reset --soft HEAD~3 # 回退上上上一个版本--hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交:git reset --hard HEAD# 实例:$ git reset –hard HEAD~3 # 回退上上上一个版本 $ git reset –hard bae128 # 回退到某个版本回退点之前的所有信息。 $ git reset --hard origin/master # 将本地的状态回退到和远程的一样 注意:谨慎使用 –hard 参数,它会删除回退点之前的所有信息。HEAD 说明:HEAD 表示当前版本HEAD^ 上一个版本HEAD^^ 上上一个版本HEAD^^^ 上上上一个版本以此类推...可以使用 ~数字表示HEAD~0 表示当前版本HEAD~1 上一个版本HEAD^2 上上一个版本HEAD^3 上上上一个版本以此类推...
- 记录
# 查看提交记录git loggit log --onelinegit reflog
- 标签
# tag标签: 在项目的重要commit位置添加快照,保存当时的工作状态,一般用于版本的迭代。git tag [tag_name] [commit_id] -m [message]说明: commit_id可以不写则默认标签表示最新的commit_id位置,message也可以不写,但是最好添加。e.g. 在最新的commit处添加标签v1.0git tag v1.0 -m '版本1'* 查看标签 git tag 查看标签列表 git show [tag_name] 查看标签详细信息* 去往某个标签节点git reset --hard [tag]* 删除标签git tag -d [tag]
- 保存工作区
* 保存工作区内容 git stash save [message] 说明: 将工作区未提交的修改封存,让工作区回到修改前的状态* 查看工作区列表 git stash list 说明:最新保存的工作区在最上面* 应用某个工作区 选择工作区之前,必须保证当前工作区是干净的 git stash apply [stash@{ n}]* 删除工作区 git stash drop [stash@{ n}] 删除某一个工作区 git stash clear 删除所有保存的工作区
- 分支
# branchgit branch #列出分支$ git branch [branch-name]创建一个新分支$ git checkout [branch-name]切换到指定分支并更新工作目录(working directory)git checkout -b [branck-name]$ git merge [branch]将指定分支的历史合并到当前分支。这通常在拉取请求(PR)中完成,但也是一个重要的 Git 操作。$ git branch -d [branch-name]删除指定分支git merge#合并到当前分支
- checkout
当执行 git checkout . 或者 git checkout --命令时,会用暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区中未添加到暂存区的改动。当执行 git checkout HEAD . 或者 git checkout HEAD 命令时,会用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区和以及工作区中的文件。这个命令也是极具危险性的,因为不但会清除工作区中未提交的改动,也会清除暂存区中未提交的改动。
- remote
# remote -v 并列出urlgit remote -v$ git remote add origin git@github.com:tianqixin/runoob-git-test.git$ git push -u origin mastergit remote rm name # 删除远程仓库git remote rename old_name new_name # 修改仓库名
- pull
git pull 命令用于从远程获取代码并合并本地的版本。git pull 其实就是 git fetch 和 git merge FETCH_HEAD 的简写。 命令格式如下:git pull <远程主机名> <远程分支名> : <本地分支名> 实例更新操作:$ git pull$ git pull origin将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并。git pull origin master:brantest如果远程分支是与当前分支合并,则冒号后面的部分可以省略。git pull origin master 本地分支名> 远程分支名> 远程主机名>
- push
git push 命用于从将本地的分支版本上传到远程并合并。命令格式如下:git push <远程主机名> <本地分支名> : <远程分支名> 如果本地分支名与远程分支名相同,则可以省略冒号:git push <远程主机名> <本地分支名> 实例以下命令将本地的 master 分支推送到 origin 主机的 master 分支。$ git push origin master相等于:$ git push origin master:master如果本地版本与远程版本有差异,但又要强制推送可以使用 --force 参数:git push --force origin master删除主机但分支可以使用 --delete 参数,以下命令表示删除 origin 主机的 master 分支:git push origin --delete mastergit push origin [tag] 推送一个本地标签到远程 git push origin --tags 推送所有本地所有标签到远程git push origin --delete tag [tagname] 删除向远程仓库推送的标签 本地分支名> 远程主机名> 远程分支名> 本地分支名> 远程主机名>
大文件上传
安装 Git LFS
根据系统环境将 git - lfs
安装到本机。
Windows
# 下载安装 Windows installerhttps://github.com/github/git-lfs/releases# 运行 windows installer
开启 LFS 功能
首先,到达指定 git
项目文件夹,执行安装命令,开启 lfs
功能。
$ cd xxx# 只需执行一次即可,即可开启 lfs 功能$ git lfs install 复制代码
其次,选择您希望 Git LFS
管理的文件类型,默认会生成一个 .gitattributes
文件。
# 此处建议此种格式,可以统一关联 .zip 类型的文件(具体文件类型,视项目而定)$ git lfs track "* .zip"
ses
运行 windows installer
> 开启 LFS 功能首先,到达指定 `git` 项目文件夹,执行安装命令,开启 `lfs` 功能。```shell$ cd xxx# 只需执行一次即可,即可开启 lfs 功能$ git lfs install 复制代码
其次,选择您希望 Git LFS
管理的文件类型,默认会生成一个 .gitattributes
文件。
# 此处建议此种格式,可以统一关联 .zip 类型的文件(具体文件类型,视项目而定)$ git lfs track "* .zip"
转载地址:https://blog.csdn.net/z_202041/article/details/117913629 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月06日 08时23分54秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
spark报错:warn util.utils::service ‘sparkUI‘ can not bind on part 4040.Attempting port 4041.4042等错误
2019-04-29
Error getting authority: Error initializing authority: Could not connect: No such file or directory
2019-04-29
编程程软件测试思维方式:如何科学制定测试计划
2019-04-29
BLE蓝牙4.0串口调试助手
2019-04-29
树莓派WIFI设置
2019-04-29
用vcgencmd获取树莓派硬件状态数据
2019-04-29
IIS 多域名多张证书配置
2019-04-29
树莓派LINUX 截屏
2019-04-29
树莓派Raspberry Pi的嵌入式QT平台
2019-04-29
apache https
2019-04-29
Debian Jessie安装支持HTML5音视频的Chromium浏览器听百度音乐
2019-04-29
nanopi2 启动信息
2019-04-29
POS打印机驱动大全
2019-04-29
phpstudy https
2019-04-29
centos apache 最新版HTTPS配置
2019-04-29
树莓派添加中文语音合成功能
2019-04-29
kangle https设置
2019-04-29
Linux下EasyPanel版本安装及升级
2019-04-29