Git速查表

这篇具有很好参考价值的文章主要介绍了Git速查表。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本地初始化一个项目

首先,你需要执行下面两条命令,作为 git 的基础配置,作用是告诉 git 你是谁,你输入的信息将出现在你创建的提交中。

git config --global --list 显示全部配置

git config --global user.name "你的名字或昵称"
git config --global user.email "你的邮箱"

然后在你的需要初始化版本库的文件夹中执行:

初始化本地仓库

git init\

添加远程仓库

git remote add origin <你的项目地址>
注:项目地址形式为:http://git.oschina.net/xxx/xxx.git或者 git@git.oschina.net:xxx/xxx.git

这样就完成了一次版本你的初始化。

如果你想克隆一个项目,只需要执行:
git clone <项目地址>

进入你已经初始化好的或者克隆项目的目录,然后执行:
#同步远程仓库
git fetch [remote]
#拉取远程仓库合并
git pull origin master

添加需要追踪的文件或目录

#添加当前目录下的文件和目录到暂存区(使用git来进行追踪管理)
git add .
#提交到版本库(还在本地)
git commit -m "第一次提交"
#推送到远程仓库(将改变远程仓库)
git push origin master
然后如果需要账号密码的话就输入账号密码,这样就完成了一次提交。

此时,你可以在你的个人面板、项目主页查看到你的提交记录,例如:http://git.oschina.net/oschina/git-osc/commit/f3dd1c5bae48fa4244e2595a39e750e5606dd9be](http://git.oschina.net/oschina/git-osc/commit/f3dd1c5bae48fa4244e2595a39e750e5606dd9be

按照本文档新建的项目时,在码云平台仓库上已经存在 readme 文件,故在提交时可能会存在冲突,这时您需要选择的是保留线上的文件或者舍弃线上的文件,如果您舍弃线上的文件,则在推送时选择强制推送,强制推送需要执行下面的命令:

git push origin master -f
如果您选择保留线上的 readme 文件,则需要先执行:

git pull origin master
然后才可以推送,如果发生冲突,则需要先解决冲突

使用ssh访问远程仓库时,每次访问要求输入短语密码:
Enter passphrase for /c/Users/Administrator/.ssh/id_ecdsa:
执行下面命令可无需每次输入密码

eval $(ssh-agent -s)
ssh-add ~/.ssh/id_ecdsa

速查表:

详细参考:https://gitee.com/all-about-git

仓库

# 在当前目录新建一个Git代码库
$ git init

# 新建一个目录,将其初始化为Git代码库
$ git init [project-name]

# 下载一个项目和它的整个代码历史
$ git clone [url]

配置

# 显示当前的Git配置
$ git config --list

# 编辑Git配置文件
$ git config -e [--global]

# 设置提交代码时的用户信息
$ git config [--global] user.name "[name]"
$ git config [--global] user.email "[email address]"

查看:

# 显示有变更的文件
$ git status

# 显示当前分支的版本历史
$ git log

# 显示commit历史,以及每次commit发生变更的文件
$ git log --stat

# 美化历史打印
$ git log --graph --pretty=oneline --abbrev-commit

# 搜索提交历史,根据关键词
$ git log -S [keyword]

# 显示当前分支的最近几次提交
$ git reflog

添加&移除:

# 添加指定文件到暂存区
$ git add [file1] [file2] ...

# 添加指定目录到暂存区,包括子目录
$ git add [dir]

# 添加当前目录的所有文件到暂存区
$ git add .

# 添加每个变化前,都会要求确认
# 对于同一个文件的多处变化,可以实现分次提交
$ git add -p

# git add -A 保存所有的修改
# git add . 保存新的添加和修改,但是不包括删除
# git add -u 保存修改和删除,但是不包括新建文件。

# 删除工作区(本地)文件,并且将这次删除放入暂存区
$ git rm [file1] [file2] ...

# 删除工作区(本地)目录,并且将这次删除放入暂存区
$ git rm -r [dir]

# 停止追踪指定文件,但该文件会保留在工作区(本地)
$ git rm --cached [file]

# 改名文件,并且将这个改名放入暂存区
$ git mv [file-original] [file-renamed]

提交:

# 提交暂存区到仓库区
$ git commit -m [message]

# 提交暂存区的指定文件到仓库区
$ git commit [file1] [file2] ... -m [message]

# 提交工作区自上次commit之后的变化,直接到仓库区
$ git commit -a

# 提交时显示所有diff信息
$ git commit -v

# 使用一次新的commit,替代上一次提交
# 如果代码没有任何新变化,则用来改写上一次commit的提交信息
$ git commit --amend -m [message]

# 重做上一次commit,并包括指定文件的新变化
$ git commit --amend [file1] [file2] ...

# 查看提交记录
$ git log


远程同步:

# 下载远程仓库的所有变动
$ git fetch [remote]

# 显示所有远程仓库
$ git remote -v

# 显示某个远程仓库的信息
$ git remote show [remote]

# 增加一个新的远程仓库,并命名
$ git remote add [shortname] [url]

# 取回远程仓库的变化,并与本地分支合并
$ git pull [remote] [branch]

# 当本地和远程分支没有共同祖先时,强制拉取合并
$ git pull --allow-unrelated-histories [remote] [branch]

# 上传本地指定分支到远程仓库
$ git push [remote] [branch]

# 强行推送当前分支到远程仓库,即使有冲突
$ git push [remote] --force

# 推送所有分支到远程仓库
$ git push [remote] --all

冲突:

# 当pull存在冲突时,使用--rebase解决冲突后合并
$ git pull --rebase [remote] [branch]

合并:

分支:

# 选择分支
git switch "branch"
git checkout [branch]

# 添加分支
git branch "name"

# 删除分支
git branch -d "branch"

# 列出所有本地分支
$ git branch

# 列出所有远程分支
$ git branch -r

# 列出所有本地分支和远程分支
$ git branch -a

# 分支重命名
git branch -m [old_branch_name] [new_branch_name]

标签:

撤销:

忽略:

在.git目录同级下创建.gitignore文件

.gitignore  # 忽略自身
4.txt  # 忽略名为4.txt的文件
project2  # 忽略名为project2的目录或文件
project3/  # 指定忽略名为project3的目录,叫project3的文件将不会被忽略
app*  # 忽略前缀为app的文件或目录

.gitignore

常见配置

空格 不匹配任意文件,可作为分隔符,可用反斜杠转义

#开头 标识注释,可以使用反斜杠进行转义

!开头 标识否定,该文件将会再次被包含,如果排除了该文件的父级目录,则使用 !也不会再次被包含。可以使用反斜杠进行转义

/结束 只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件

/开始 匹配项目根目录

** 匹配多级目录,可在开始,中间,结束

* 通配多个字符;

? 通用匹配单个字符

[] 通用匹配单个字符列表


e.g.

匹配所有后缀为apk的文件
*.apk

匹配大小写首字母目录下的aa.meta文件
/[Aa]ssets/[Ss]treamingAssets/aa.meta

匹配aa目录下的全部文件和目录
/[Aa]ssets/[Ss]treamingAssets/aa/*

bin/: 忽略当前路径下的bin文件夹,该文件夹下的所有内容都会被忽略,不忽略 bin 文件

/bin: 忽略根目录下的bin文件

/*.c: 忽略根目录cat.c,不忽略 build/cat.c

debug/*.obj: 忽略 debug/io.obj,不忽略 debug/common/io.obj 和 tools/debug/io.obj

**/foo: 忽略/foo, a/foo, a/b/foo等

a/**/b: 忽略a/b, a/x/b, a/x/y/b等

!/bin/run.sh: 不忽略 bin 目录下的 run.sh 文件

*.log: 忽略所有 .log 文件

config.php: 忽略当前路径的 config.php 文件

/mtk/do.c: 过滤某个具体文件

!/mtk/one.txt: 追踪(不过滤)某个具体文件

Android

*.iml
.gradle
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild
.cxx

Java

.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/

### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/

### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/

### VS Code ###
.vscode/

### Mac OS ###
.DS_Store

Unity文章来源地址https://www.toymoban.com/news/detail-796266.html

# This .gitignore file should be placed at the root of your Unity project directory
#
# Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore
#
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Uu]ser[Ss]ettings/

# MemoryCaptures can get excessive in size.
# They also could contain extremely sensitive data
/[Mm]emoryCaptures/

# Recordings can get excessive in size
/[Rr]ecordings/

# Uncomment this line if you wish to ignore the asset store tools plugin
# /[Aa]ssets/AssetStoreTools*

# Autogenerated Jetbrains Rider plugin
/[Aa]ssets/Plugins/Editor/JetBrains*

# Visual Studio cache directory
.vs/

# Gradle cache directory
.gradle/

# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db

# Unity3D generated meta files
*.pidb.meta
*.pdb.meta
*.mdb.meta

# Unity3D generated file on crash reports
sysinfo.txt

# Builds
*.apk
*.aab
*.unitypackage
*.app

# Crashlytics generated file
crashlytics-build.properties

# Packed Addressables
/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*

# Temporary auto-generated Android Assets
/[Aa]ssets/[Ss]treamingAssets/aa.meta
/[Aa]ssets/[Ss]treamingAssets/aa/*

到了这里,关于Git速查表的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vscode同步git代码时源代码管理出现10k+更改如何处理?

    出现原因:获取项目代码,通过vscode的sftp插件进行远程项目拉取。建立新文件夹后发现vscode的git源代码管理器出现多个更改需要处理,如下图左侧所示(10k+)。 解决办法:查看具体更改,定位更改发生的文件夹(我的在桌面),打开文件管理器,定位到对应路径,删除.gi

    2024年02月12日
    浏览(67)
  • VS 如何取消git源代码管理,如何取消将解决方案添加到代码管理,如何取消签入?

    Visual Studio 不小心在解决方案中勾选“将解决方案添加到源代码管理”,在侧栏中显示蓝色小锁的图标, 并产生“已签入”的字样,如何取消代码管理呢? 首先,在 “工具 - 选项” 中找到 “源代码管理 - 插件选择”,再将下拉框中的“Git”改为“无”。 此时,源代码管理

    2024年02月13日
    浏览(58)
  • 新手入公司git的运用,项目克隆拉取与推送。vscode的源代码管理

    1.项目的克隆拉取 新建一个文件夹  打开文件夹后,鼠标右键git Bash Here  选择好分支,在复制url   就把项目克隆下来 , 拉取就是 后面的master也是对应的分支 2、项目的推送  新建一个空的文件夹   打开文件夹后,鼠标右键git Bash Here 先仓库初始化 git init   把你写的项目复

    2024年02月03日
    浏览(79)
  • Git速查表

    首先,你需要执行下面两条命令,作为 git 的基础配置,作用是告诉 git 你是谁,你输入的信息将出现在你创建的提交中。 然后在你的需要初始化版本库的文件夹中执行: 初始化本地仓库 git init 添加远程仓库 git remote add origin 你的项目地址 注:项目地址形式为:http://git.oschin

    2024年01月17日
    浏览(43)
  • git常用命令速查表

    1.git add -u [路径]: 把路径中所有跟踪(tracked)文件中被修改过或已删除文件的信息添加到索引库。它不会处理未跟踪(untracked)的文件。省略路径表示:即当前目录。 2.git add -a [路径]: 表示把路径中所有跟踪(tracked)文件中被修改过或已删除文件和所有未跟踪(untracked)的文

    2024年02月14日
    浏览(41)
  • git源代码泄露

    需要的工具:kali,githack(win版没下载成功) 安装方法: kali命令行中输入:git clone https://github.com/lijiejie/GitHack 下载成功如下: ​ 输入GitHack,然后输入python GitHack.py +所要下载的网页链接+/.git/ GIT文件基本介绍:         Git 是目前最流行的版本控制系统。版本控制系统在一

    2024年02月07日
    浏览(65)
  • 当前没有源代码管理提供程序进行注册 scanning folder for git repositories 没有注册配置remote.SSH.remotePlatform因此无法写入用户设置问题解决

    使用Windows平台的VScode,利用Remote-SSH插件连接远程Ubuntu服务器,拉取Gerrit仓库,出现问题如下: 远程连接SSH速度特别慢,通常要5分钟以上 连接上去之后无法使用git,注意这里的git是 @builtin 插件,不是需要安装的插件,环境很干净 git显示内容一开始为 当前没有源代码管理提

    2024年02月09日
    浏览(63)
  • GDB 源代码查看、管理、搜索、设置源代码目录,调试发行版,观察点

    C_FLAGS中加入-g选项后,生成的可执行文件中会保存调试信息。 1、 set listsize 10:设置list查看的代码行数        list -: 向前查看代码        list 函数名: 产看函数代码 2、search        forward-search :跟 search功能一样       reverse-search:反向搜索 3、directories 路径:添加源代码路

    2024年02月09日
    浏览(72)
  • vscode怎么关掉/禁用源代码管理

    问题描述 运行项目时源代码管理自动运行, 有时还报错实在不便. 而运行本地项目时往往不用进行版本控制, 也就不需要vscode的源代码管理 解决方法 在设置中搜索GIT: Enabled,将其关闭即可 如果求稳可以一并把git功能配置给关了 搜索GIT,按下图所示设置后重启vscode

    2024年02月15日
    浏览(52)
  • Bitbucket vs GitHub:代码托管(源代码管理)选哪个?

    选择一个资源库托管服务是一个重要的决定。如何托管你的代码是你工作的一个重要部分,影响你的生产力。所以你要确保你选择的平台最有利于你(和你的团队)的具体需求和目标。 如果你和大多数开发者一样,你可能正在使用Git作为你的版本控制系统(VCS)。然而,决定

    2024年01月17日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包