Git常用命令整理&GitHub的上传指南

最近想使用git上传一下自己学习过程做的unity项目,然后就开始了关于Git的学习

主要参考的是这篇文章

下面就直接上正文了,我这也有文件版的,想要文件的可以私信我,看到了会发的

Git init

初始化当前目录为仓库,初始化后会自动将当前仓设置为master

Mkdir  name

创建目录(名称为name)

Touch name.c

新建一个文件(name.c)

Git add

将文件提交到本地仓库的提交缓存

Git commit -m "name"

将修改提交到本地缓存(name为描述信息)

Git commit --amend

不带":"为命令模式

进去vi编辑器重写提交信息

:w

保存

:w filename

另存为

:q

退出

:wq

保存并退出

:e!

撤销更改并返回上一次的保存状态

:q!

不保存强制退出

:set nu

设置行号

ZZ(大写)

保存并退出

u

撤销操作,可多次使用

dd

删除当前行

yy

复制当前行

p

粘贴内容

Ctrl+f

向前翻页

Ctrl+b

向后翻页

i

进入编辑模式,当前光标处插入

a

进入编辑模式,当前光标后插入

A

进入编辑模式,光标移动到行尾

o

进入编辑模式,当前行下面插入新行

O

进入编辑模式,当前行上面插入新行

Git log

 查看日志

Git reset --hard

回滚仓库代码

Git reset --soft<commit hash>

仅移动HEAD指针,保留工作区和暂存区的更改

Git reset --mixed<commit hash>

(默认方式)

将暂存区恢复到指定状态,工作区不变

Git reset --hard<commit hash>

同时将工作区和暂存区恢复到指定状态

Git status

查看当前仓库状态

A

未修改

AM

修改

untracked

未提交

modified

新文件,但未提交

Git add --all

将所有改动添加到缓存区,包括删除

Git add .

将除删除操作外的所有改动添加到缓存区

Git checkout -- file

 将文件切换到最近的一次的提交状态,只能使用一次不能重复使用

Git log filename

查看单个文件的可回滚版本

Git rm filename

删除文件

想要对文件执行操作必须先用git add将文件添加到缓存区,对文件进行跟踪后才可对其进行操作。

对一个文件一次只能进行一次更改,用git commit -m""提交后,才能进行下一次操作

GitHub使用:

Git reflog

当前库所有的提交历史,凡是对当前库进行迭代的版本都会显示

Git rm后的恢复操作

1.git reset

重置所有缓存区操作

2.git checkout filename

取消删除操作

Git checkout -b <name>

创建一个新分支,并跳转到该分支

Git branch

查看当前分支,即HEAD指向的分支

Git branch <name>

创建一个分支,但不跳转

Git checkout <name>

切换分支

Git branch -a

查看所有当前可用分支

Git merge

合并分支(在新建分支完成工作后希望将其他分支的文件合并到主分支master上,只需切换到master分支在执行 “git merge <name>”即可)

*若在任何分支上创建文件,但未提交到仓库,那他在所有仓库都是可见的,因为创建的文件放置在目录中,而更换仓库git只更新和仓库目录有关的文件,无关的文件依然放置在工作区

Git branch -D <分支名>

删除本地分支

Git push origin --delete <远程分支名>

删除远程分支名

ssh-keygen -t rsa -C "your_email@example.com"

本地创建ssh的key

git remote add origin git@github.com:beiszhihao/test.git

远程关联github仓库

git push -u origin master

将本地仓库文件推送到远程,将master的分支也提交上去(仅提交通过git commit -m""提交至本地仓库的文件)

Git push origin <分支名>

仅提交当前分支

Git clone

将远程仓库关联到本地仓库(不需要git init,git clone会自动帮我们初始化)

Git clone -b

指定分支名

Git branch -r

列出所有远程分支

git clone -b dev https://github.com/example/project.git my-local-project

将远程仓库克隆到本地目录

GitHub提交项目流程

Git add

提交到缓存

Git commit

提交到本地仓库

Git push origin <分支名 >

推送到远程

Git branch -m <分支名> <新分支名>

修改分支名

Git stash

保留当前工作区内容切换分支(在当前工作区做出修改转换到其他工作区,git会终止你的内容 )

Git stash list

查看所有存储的工作状态

Git cherry-pick

将别的分支的代码转移到自己的分支上,这个操作只会将master改动的代码合并到我们的分支上

Git remove show origin

显示所有远程分支

Git merge master --allow-unrelated-histories

强制合并分支(两个不同的分支或是该分支不是从原生仓库分离出来的)

Git fetch

拉取所有分支

Git submodule

子模块管理

git submodule add <repository-url> [path]

add后面的分别为远程仓库地址和在项目中的存储路径名

将一个外部git仓库添加为子模块

Git submodule init

初始化子模块,通常为从远程仓库中克隆到本地

Git submodule update

更新同步子模块

Git submodule update --init

上述两条代码的合并

Git submodule update --remote

确保所有子模块保持最新

Git分支开发步骤

拉取分支后,简述完成的工作,完成工作后合并到master分支上

Git branch -D

强制删除分支

Git diff

查看不同分支文件的差异(详细请搜索)

Git remote

查看当前仓库

Git remote -v 

查看更详细的权限信息

Fetch 代表可以拉取仓库,push 代表可以推送

Git switch <分支名>

Git2.23引入

切换分支,分支不存在时是不会创建

Git switch -b <分支名>

合并分支

Git switch -c <分支名>

创建分支

Git restore <filename>

撤销提交与修改

  • 14
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值