1 Star 0 Fork 0

lyc458216 / Git 使用方法

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

Git 使用手册

Git 常用命令速查表

Image 'Git常用命令速查表'

生成 ssh 公钥并连接远程仓库

第一步 生成一个 ssh 公钥

ssh-keygen
# 本地创建 SSH (三下回车)

第二步 获取刚才生成的 ssh 公钥

获取方式有两种:

第一种方法:使用如下指令获取本地公钥(推荐):

cat ~/.ssh/id_rsa.pub

具体操作如下图所示:

Image '生成SSH公钥图片示例'

第二种方法:进入 id_rsa.pub 文件所在的目录,拷贝 id_rsa.pub 里的公钥

将获取到的公钥粘贴到仓库中的 SSH and GPG keys 里

使用如下指令确认是否配对成功

ssh -T git@github.com

SSH警告 当你第一次使用Git的clone或者push命令连接GitHub时,会得到一个警告:

The authenticity of host 'github.com (xx.xx.xx.xx)' cant be established.
RSA key fingerprint is xx.xx.xx.xx.xx.
Are you sure you want to continue connecting (yes/no)?

这是因为Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,输入yes回车即可。 Git会输出一个警告,告诉你已经把GitHub的Key添加到本机的一个信任列表里了:

Warning: Permanently added 'github.com' (RSA) to the list of known hosts.

这个警告只会出现一次,后面的操作就不会有任何警告了。 如果你实在担心有人冒充GitHub服务器,输入yes前可以对照GitHub的RSA Key的指纹信息是否与SSH连接给出的一致。

初始化本地仓库与本地环境配置

本地仓库与远程仓库做关联有两种情况:一种是先创建本地仓库然后远程仓库与本地同步;另一种是先创建远程仓库然后本地与远程同步

第一种 先创建本地仓库,然后同步到远程地址

git init :初始化本地仓库;隐藏文件.git 就是本地仓库

git config --global user.name 'lyc458216' :本地环境配置用户名

git config --global user.email lyc458216@xxxx.com :本地环境配置用户邮箱

git config --list :查看 git 配置

复制 github 项目上的项目地址:Clone or download(比如 https://github.com/lyc458216/xxxxx.git )

使用如下指令来添加远程仓库

git remote add origin https://github.com/lyc458216/xxxxx.git

第二种 先创建远程仓库,然后同步到本地

先复制远程库的地址,注意 必须是SSH 形式的地址 格式如下:

git@gitee.com:lyc458216/*********.git

然后在本地

git clone git@gitee.com:lyc458216/*********.git 
# 此时 git 会把远程库代码克隆到本地

小结:

要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;

关联后,使用命令git push -u origin master第一次推送master分支的所有内容;

此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

分布式版本系统的最大好处之一是在本地工作完全不需要考虑远程库的存在,也就是有没有联网都可以正常工作,而SVN在没有联网的时候是拒绝干活的,当有网络的时候,再把本地提交推送一下就完成了同步。

开始工作

远程仓库操作

git remote -v :查看远程仓库

git remote rename [old][new] :远程仓库重命名

git remote add [name][remote url] :添加 github 源仓库地址为远程仓库

基础工作流

工作目录、暂存区、Git 仓库:

Image 工作目录、暂存区、Git仓库

四个工作区及指令:

Image 四个工作区及指令.png

git status :查看当前文件的状态

git add [文件名] :提交到暂存区

git add . :提交所有文件到暂存区

git commit -m '描述信息' :提交到本地仓库(每次 commit 都称为一个版本),描述本次版本提交信息

git push [remote][branch] :提交内容到远程仓库

git log :打印当前所有操作

撤销工作区修改

checkout :必须要先 add 才存在恢复一说,checkout 可以理解为“切回某个文件”的意思。但是要注意,这个命令是对工作区生效的

git checkout -- [文件名] :撤销工作区对暂存区的修改(回退到最后一次 add 后的暂存区状态,使工作区与暂存区状态一致)

例:把 readme.txt 文件在工作区的修改全部撤销

git checkout -- readme.txt
# 去除所有更改
git checkout .

暂存区版本回退

HEAD 及各个版本示意图:

Image 'HEAD及各个版本'

不覆盖工作区:

git reset HEAD [文件名] :暂存区文件撤销

git reset HEAD~3 :暂存区文件撤销 3 次

高级指令:

git reset --(soft | mixed | hard)  <HEAD~(num )>  | <commit ID>

soft -> 只回退 HEAD,回退到 commit 之前的状态

mixed -> 部分回退,包括 HEAD,index,回退到 add 之前的状态

hard -> 全部回退,包括 HEAD,index,working tree,直接退回到上一个版本,(使用--hard 会覆盖工作区内容)

差异比较

git reflog :每一步都干了什么

git diff :比较工作区与暂存区

git diff HEAD :比较工作区与本地版本库中最近一次 commit 的内容

git diff --cached :比较暂存区与本地版本库中最近一次 commit 的内容

git diff [commit-id][commit-id] :比较两个 commit 之间的差异

分支

git branch :查看分支

git branch :创建新分支

git checkout :切换分支,例:

git checkout master

git checkout -b :创建并且换分支

git branche -d :删除本地分支

git push -d :删除远程分支

推送至远端库,及从远端库拉代码:

git push origin master

此写法是 git push origin master:master 的简写形式,把本地的 master 分支(前一个 master)推送至远端 master 分支(后一个 master,如果远端没有这个分支会自动新建一个)

遇到 failed to push some refs to https://github.com/lyc458216/Music.git 问题如何解决:

出现错误的主要原因是 github 中的 README.md 文件不在本地代码目录中 解决方法: 可以通过如下命令进行代码合并(注:pull=fetch+merge)

git pull :从远端库拉取代码到本地端

git pull --rebase origin master :从远端库拉取代码到本地端

git clone https://github.com/lyc458216/Music.git :只拉取这个项目 master 分支上的代码

git merge origin/index-swiper :在 master 分支下执行改命令,把线上的 index-swiper 分支新增的内容合并到 master 分支上

git 高效技巧

文件暂存:

git stash save -a 'message' :改动添加到 stash

git stash drop <stash@{id}> :删除暂存

git stash list :查看 stash 列表

git stash clear :删除全部暂存

git stash pop <stash@{id}> :恢复改动

空文件

简介

介绍了Git的基本使用方法 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/lyc458216/git_instructions.git
git@gitee.com:lyc458216/git_instructions.git
lyc458216
git_instructions
Git 使用方法
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891