首页 > 其他分享 >Git

Git

时间:2023-11-04 13:56:22浏览次数:26  
标签:origin git -- Git 提交 main

Git 常用命令速查表

Git 全局设置:

$ git config --global user.name "user_name"      # 设置用户签名
$ git config --global user.email "user_email"     # 设置用户邮箱

说明:

签名的作用是区分不同操作者身份。

用户的签名信息在每一个版本的提交信息中能够看 到,以此确认本次提交是谁做的。

Git 首次安装必须设置一下用户签名,否则无法提交代码。

注意:
这里设置用户签名和将来登录 GitHub(或其他代码托管中心)的账号没有任 何关系。

~> open C:\Users\liuzonglin\.gitconfig
[user]
        name = user_name
        email = user_email
[http]
        sslVerify = false
[core]
        symlinks = true
[credential "https://code.aliyun.com"]
        provider = generic

创建 git 仓库:

mkdir <repository_name>
cd <repository_name>
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin <remote_repository_address>
git push -u origin "main"

已有仓库?

cd <repository_name>
git remote add origin <remote_repository_address>
git push -u origin "main"

创建版本库

$ git clone <remote_repository_address> # 克隆远程版本库

$ git init # 初始化本地版本库
Initialized empty Git repository in D:/.github/.dome/df/.git/

$ ls -al
drwxr-xr-x 1 liuzonglin 197121 0 Jan  6 13:35 ./
drwxr-xr-x 1 liuzonglin 197121 0 Jan  6 13:35 ../
drwxr-xr-x 1 liuzonglin 197121 0 Jan  6 13:35 .git/ # 生成了 `.git`

$ cat .git/config # 每个git库都会有一个配置信息文件
[core]
        repositoryformatversion = 0
        filemode = false
        bare = false
        logallrefupdates = true
        symlinks = false
        ignorecase = true
[remote "origin"]
        url = https://gitee.com/liuzonglin1/df.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "main"]
        remote = origin
        merge = refs/heads/main

修改和提交

$ git status                            # 查看本地库状态

$ git diff                              # 查看变更内容

$ git add <file>                        # 跟踪指定的文件

$ git add .                             # 跟踪所有改动过的文件

$ git mv <old> <new>                    # 文件改名

$ git rm <file>                         # 删除文件

$ git rm --cached <file>                # 停止跟踪文件但不删除

$ git commit -m "日志信息"               # 提交所有更新过的文件

$ git commit -m "日志信息" <文件名>       # 将暂存区的文件提交到本地库

$ git commit --amend                   # 修改最后一次提交

查看提交历史记录

$ git log               # 查看提交历史

$ git log -p <file>     # 查看指定文件的提交历史

$ git blame <file>      # 以列表方式查看指定文件的提交历史

$ git reflog            # 列出引用日志的条目
aa9b0e2 (HEAD -> main, origin/main) HEAD@{0}: commit (merge): 合并所有差异
501fa20 HEAD@{1}: checkout: moving from main-old2 to main
22f7c73 HEAD@{2}: checkout: moving from main-old to main-old2
e19c344 HEAD@{3}: checkout: moving from main to main-old
501fa20 HEAD@{4}: checkout: moving from main-old to main

撤销

$ git reset --hard HEAD         # 撤销工作目录中所有未提交文件的修改内容

$ git checkout HEAD <file>      # 撤销指定的未提交文件的修改内容

$ git revert <commit>           # 撤销指定的提交

Git 分支与标签

$ git branch                    # 显示所有本地分支
* main 5e476cb [ahead 1] 2      # * 代表当前所在的分区

$ git branch <new_branch>       # 创建新分支

$ git checkout <branch_name/tag> # 切换到指定分支标签

$ git branch -d <branch_name>   # 删除本地分支

$ git tag                       # 列出所有本地标签

$ git tag <tag_name>            # 基于最新提交创建标签

$ git tag -d <tag_name>         # 删除标签

合并与衍合

$ git merge <branch_name>  # 合并指定分支到当前分支

$ git rebase <branch_name> # 衍和指定分支到当前分支

$ cat ss.txt # 查看冲突文件
<<<<<<< HEAD # 特殊符号
111111111111111111111111111111111111111111111111111111111111111111111111
======= # 当前分支的代码
123456
>>>>>>> lzl # 合并过来的代码
$ vim ss.txt # 编辑有冲突的文件,删除特殊符号,决定要使用的内容

liuzonglin@LAPTOP-CGO0UV3J MINGW64 /d/.github/.dome/df (main|MERGING)
$ cat ss.txt
111111111111111111111111111111111111111111111111111111111111111111111111
123456

liuzonglin@LAPTOP-CGO0UV3J MINGW64 /d/.github/.dome/df (main|MERGING)
$ git add ss.txt # 添加到暂存区

liuzonglin@LAPTOP-CGO0UV3J MINGW64 /d/.github/.dome/df (main|MERGING)
$ git commit -m "解决冲突" # 执行提交(注意:此时使用 git commit 命令时不能带文件名)
[main 3eaeba5] 解决冲突

liuzonglin@LAPTOP-CGO0UV3J MINGW64 /d/.github/.dome/df (main) # MERGING 消失,变为正常

Git 远程仓库操作

$ git remote -v                 # 查看远程版本库信息

$ git remote show <remote_name> # 查看指定远程版本库信息

$ git remote add <remote_name> <url> # 添加远程版本库

$ git fetch <remote_name>            # 从远程库获取代码

$ git pull <remote_name> <branch_name> # 下载代码及快速合并

$ git push <remote_name> <branch_name> # 上传代码及快速合并

$ git push origin --delete branch_name # 删除远程分支或标签

$ git push --tags # 上传所有标签
  • 其中,origin是远程仓库的名称,branch_name是要删除的分支的名称。

强制覆盖本地文件

git pull 强制覆盖本地的代码方式,下面是正确的方法:

git fetch --all

然后,你有两个选择:

git reset --hard origin/main

或者如果你在其他分支上:

git reset --hard origin/<branch_name>

说明:

git fetch 从远程下载最新的,而不尝试合并或 rebase 任何东西。

然后 git reset 将主分支重置为您刚刚获取的内容。 --hard 选项更改工作树中的所有文件以匹配origin/main中的文件。

git 切换 Commit

git switch -c <new_branch_name>
  • 如果您想要创建一个新分支以保留您创建的提交,您可以使用 -c 开关与切换命令一起使用。

参考文档:

标签:origin,git,--,Git,提交,main
From: https://www.cnblogs.com/liuzonglin/p/17809245.html

相关文章

  • Git 精简快速使用以及官方文档进阶总结
    ​ 安装Git忽略,自行搜索 新建项目,或者在仓库拉取项目,进入到项目目录Github给出的引导,新项目和旧项目echo"#testgit">>README.mdgitinitgitaddREADME.mdgitcommit-m"firstcommit"gitbranch-Mmaingitremoteaddoriginhttps://github.com/9sis/tes......
  • CF1866D Digital Wallet 题解
    Problem-1866D-CodeforcesDigitalWallet-洛谷不妨为选数钦定一个顺序:不同行之间无影响,列从左到右取一定不劣。设计状态:设\(dp_{i,j}\)表示前\(i\)次操作操作到第\(j\)列的最大答案转移:因为对于同一列不互相影响,因此枚举这一列取\(c\)个数,显然取这一列数......
  • 黑马git学习笔记
    安装及配置1.安装淘宝镜像,选择最新版本即可https://registry.npmmirror.com/binary.html?path=git-for-windows/根据系统选择对应的版本2.配置用户名密码gitconfig--globaluser.name[用户名]#配置用户名gitconfig--globaluser.email[邮箱]#配置邮箱查看配......
  • Visual Studio使用Git忽略不想上传到远程仓库的文件
    前言作为一个.NET开发者而言,有着宇宙最强IDE:VisualStudio加持,让我们的开发效率得到了更好的提升。我们不需要担心环境变量的配置和其他代码管理工具,因为VisualStudio有着众多的拓展工具。废话不多说,直接进入正题。我们日常在使用VisualStudio开发相关的.NET项目时,经常会发现刚......
  • 如何把一个本地项目上传到git
    1、在本地创建一个版本库(即文件夹),通过gitinit把它变成Git仓库;2、把项目复制到这个文件夹里面,再通过gitadd.把项目添加到仓库;3、再通过gitcommit-m"注释内容"把项目提交到仓库;4、在Github上设置好SSH密钥后,新建一个远程仓库,通过gitremoteaddorigin远程仓库ssh地址  ......
  • 没有在 SCM 配置或者插件中的 Git 存储库配置错误 jenkins
    已返回默认值没有在SCM配置或者插件中的Git存储库配置错误选项"使用仓库"设置为:"http://192.168.18.142/kmyl/km-manage.git"请检查配置pipeline{agentanystages{stage('Checkout'){steps{gitcredentialsId:'......
  • Gitlab新建项目
    1、登录Gitlab页面2、点击newproject新建项目3、按照步骤创建4、给项目用户,并设置权限 5、完成 逆风的方向,更适合飞翔,我不怕千万人阻挡,只怕自己投降。......
  • Gitlab仓库迁移到新地址的方式
    方式一 简单代码迁移简单代码迁移,顾名思义,就是只迁移代码到新的地址,代码在新的地址开不了之前的提交记录。 1、登录原Gitlab页面,选择要迁移的项目,复制地址2、使用git小乌龟克隆项目到本地 3、拉却需要的分支出来4、登录新的Gitlab页面,创建同名的项目创建项目方式参考: 5、克隆......
  • 将服务器上的代码 git到码云
    基本操作初始化Git仓库(如果尚未初始化),使用以下命令:gitinit将文件添加到Git仓库的暂存区。使用以下命令将文件添加到暂存区,替换filename.ext为你要上传的文件名:gitaddfilename.exteg:gitaddfastdeeploy如果要添加整个目录的文件,可以使用gitadd.。提交已添加到......
  • git 命令: 工作区与暂存区
    参考:工作区和暂存区Git管理的文件分为:工作区,版本库,版本库又分为暂存区stage和暂存区分支master(仓库)工作区>>>>暂存区>>>>仓库gitadd把文件从工作区>>>>暂存区,gitcommit把文件从暂存区>>>>仓库,gitdiff查看工作区和暂存区差异,gitdiff--cached查看暂存区和仓库差异,gitd......