GitHub常用命令

上篇文章我们已经安装好了Git,现在我们使用Git来对GitHub进行操作。

1.右击鼠标,点击 Git Bash,进入终端。
2.我们先要跟GitHub进行SSH免密登录。
  • 在ssh目录下进行,输入三个回车
    进入.ssh目录 cd .ssh:(一路回车默认即可)

  • 发起公钥请求 ssh-keygen -t rsa
    在这里插入图片描述

  • 在.ssh/目录下,会新生成两个文件:id_rsa.pub和 id_rsa

  • 查看 id_rsa.pub 文件内容

cat id_rsa.pub

在这里插入图片描述

  • 复制 id_rsa.pub 文件内容,登录 GitHub,点击用户头像→Settings→SSH and GPG keys,New SSH Key,输入复制的密钥信息
    在这里插入图片描述
    这样本地计算机就跟GitHub建立起连接了。
3.配置Git
  • 配置github账户。
git config --global user.name "Firstname Lastname"
git config --global user.email "your_email@example.com"
  • 配置完成后,在本地git bash 里尝试使用ssh 连接远程github。
ssh -T git@github.com
The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is fingerprint值 .
Are you sure you want to continue connecting (yes/no)? 输入yes
  • 出现如下结果证明ssh key成功配置。
Hi your-name! You've successfully authenticated, but GitHub does not
provide shell access.
4.Github常用命令
  • 假设Github网站上已经建立了一个名为”Hello-World”的仓库,没有README.md和gitignore文件。新建完成后会有一个仓库链接 ,由于已经配置过ssh密钥,所以在本地的电脑上就可以直接使用ssh来连接到远程仓库。
  • 到自定的目录下执行命令,将远程的仓库克隆到本地
git clone git@github.com:endeavormoquan/Hello-World.git 
  • 初始化代码仓库
git init
此时本地的Hello-World文件夹里只有一个.git文件,因为远程的仓库是空仓库。本地电脑里的仓库Hello-World是本地仓库,除了执行特定的命令让本地和远程进行同步或者其他操作之外,本地仓库不影响远程仓库。 在学习git的时候要时刻注意本地仓库和远程仓库的区别和关系
  • 进入刚才的Hello-World本地仓库 ,默认进入master分支(现在也只有master分支),执行git status命令,查看当前仓库状态。 提示当前所在的分支,当前的文件变更状态等等信息。每一个commit会更新本地仓库里工作记录树中文件的当前状态。
git status   # 查看仓库状态
  • 将更新过的文件添加到缓存区
git add .   (# 看清楚add 后面有一个小数点,代表提交所有文件)
git add file # 提交指定文件
git add . || git add -A # 提交所有文件
git add *.js #提交所有.js格式文件
git add -f file #强制添加
  • git commit命令可以将当前暂存区中的文件实际保存到仓库的历史记录中。通过这些记录,我们就可以在工作树中复原文件。 -m命令是为该次提交附加一个简要的提交信息。 如果需要附加一个更加详细的提交信息,不要加-m,直接执行git commit,随后一个编辑器会自动启动用来编辑更加详细的信息。
    注意,这时的提交是将文件变更的记录提交到本地仓库,远程仓库没有任何影响
git commit -m '想提交的信息'  # -m 后面的信息自己想填就填什么
  • 查看提交日志
git log
git log --graph # 查看分支合并图
  • 查看当前工作树和暂存区的差别
git diff
git diff HEAD - - file #比较工作区中的文件与版本库中文件的差异。HEAD指向的是版本库中的当前版本,而file指的是当前工作区中的文件。
  • 删除文件
git rm  # 会把文件从当前目录删除(不会保存删除的文件)。如果需要从Git仓库中删除,但保留在当前工作目录中,亦即从跟踪清单中删除,可以使用git rm --cached readme.md
  • 推送到远程仓库
git push
  • 获取最新的远程仓库分支
git pull
  • 不太常用的命令
git reflog                  用来记录你的每一次命令

git remote                   查看当前的远程库

git remote -v                   可以显示对应的克隆地址(对于多个远程仓库很有用)

git remote add [short_name][url]         可以添加新的远程仓库

git remote add origin < address >         关联一个远程库

git fetch [remote-name]             可以从远程仓库抓取数据到本地。

git pull                                  更新数据

git push [remote_name] [branch_name]          推送数据到远程仓库 默认使用origin和master

git push -u origin master [-f]          第一次将本地库的所有内容推送到远程库上

git remote show origin             查看远程仓库信息

git remote rename [old_name][new_name]     远程仓库重命名

git remote rm [remote_name]      删除远程仓库

git branch -d < name >           删除本地分支

git tag                        显示当前库中的标签

git branch           可显示当前所有分支。可以使用–merged和–no-merged查看已经合并、未合并的分支。

git branch <branch_name>		 创建新分支

git branch -r                    查看远程仓库分支

git checkout <branch_name>	     切换到指定的分支

git checkout -b <branch_name>    创建新分支并切换到该分支

  • 合并分支
git merge 合并分支
举例:
将hotfix分支合并到master上需要:
git checkout master
git merge hotfix
合并之后可以使用git branch -d hotfix删除分支。
如果合并时存在冲突,需要手工修改
合并分支时,加上—no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并
  • 回滚
git checkout . --恢复上次提交状态

git checkout --file - - 文件在工作区的修改全部撤销
一种是file修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是file已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

最后,附上一张图

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值