git常用指令以及指令combo

各种指令杂合

ssh git@github.com 测试github链接
git init 打包本地仓库
git add . / -A上传修改/全部的部分到工作区间
git commit -m 上传到本地仓库并写标注信息
git log 查看所有的commit提交记录
git show 查看提交的详情

git pull origin master先将远程仓库master中的信息同步到本地仓库master中
git push origin master
git push origin master 将本地版本库推送到远程服务器,origin(本地对远程主机的称呼)主人的master分支
git clone

克隆远程仓库到本地

从本地仓库复原到缓存区:

$ git reset –hard HEAD~3 # 回退上上上一个版本
$ git reset –hard bae128 # 回退到某个版本回退点之前的所有信息。
$ git reset --hard origin/master # 将本地的状态回退到和远程的一样
HEAD 说明:
HEAD 表示当前版本
HEAD^ 上一个版本
HEAD^^ 上上一个版本
HEAD^^^ 上上上一个版本
##从缓存区复原到工作区间:
git checkout

git remote 不带参数,列出已经存在的远程分支
git remote -v | --verbose 列出详细信息,在每一个名字后面列出其远程url,此时, -v 选项(译注:此为 –verbose 的简写,取首字母),显示对应的克隆地址。
git remote add url 添加一个远程仓库
例如:
git remote add origin git@github.com:xxx/yyy.git

git remote rm [shortname] 删除远程仓库(解除与远程仓库的关系)
Alt

补充ssh本地 agent的管理
ssh-add [-cDdLlXx] [-t life] [file …]
ssh-add -s pkcs11
ssh-add -e pkcs11

-D:删除ssh-agent中的所有密钥.
-d:从ssh-agent中的删除密钥
-e pkcs11:删除PKCS#11共享库pkcs1提供的钥匙。
-s pkcs11:添加PKCS#11共享库pkcs1提供的钥匙。
-L:显示ssh-agent中的公钥
-l:显示ssh-agent中的密钥
-t life:对加载的密钥设置超时时间,超时ssh-agent将自动卸载密钥
-X:对ssh-agent进行解锁
-x:对ssh-agent进行加锁

rm -rf …/.git 删除用git clone嵌套的库(…/.git)

常用的Combo

1. 在上传到github之前,本地仓库的 版本 保存和恢复。(本地维护好了之后只要git push/pull 就能和remote端交互了)

ssh git@github.com 测试github链接
git init 打包本地仓库
git add . / -A上传修改/全部的部分到工作区间
git commit -m 上传到本地仓库并写标注信息
git log 查看所有的commit提交记录.
每一次commit都会有独一无二的 commit ID。通过git log 就能看到每一次的提交 备注和ID,然后通过reset 退回到想要回到的 版本:
git reset --hard

但是,如果用reset回退到某个版本,那么在这个版本之后的其他版本都会消失。为了避免其他版本消失,要用到branch:

git branch 查看所有的已有本地分支的
git branch -r 查看所有的已有远程分支(github)的
git branch -a 查看所有的已有本地和远程分支(github)的
git branch 创建分支
git branch -b 创建分支,并立即切换当前的工作分支变成这个新建的分支。
git branch -d 删除分支
git 分支
上图中每一个node就是一次commit,然后创建分支就是在 node之间 使用git branch来实现。

git checkout 切换当提前的工作分支
git merge 合并分支 到当前的工作分支当中去。 (暂时没用过,之后实战了再补充具体的)
git branch -h 查看所有branch的参数和使用 这里有最全的 git branch 参数说明

还有一种git revert 的方式来退回原来的版本:https://blog.csdn.net/yxlshk/article/details/79944535

2. 打标签

git tag -a -m “” 如果没有,默认当前的 工作branch的当前node(commit),或者说就是当前的HEAD

3. github 建立仓库 combo

github 官网的repository 创建
先创建 README.md
git init
git add .
git commit -m “first commit”
git branch -M main 创建 main分支,如果main分支存在,那么就是移动到main分支
git remote add origin https://github.com/xxx/xxx.git 添加一个远程仓库,并且命名为“origin”(<远程主机名>)。开头对这个指令有介绍。
git push -u origin main 把 main分支给上传到origin仓库。这个指令开头也介绍了。-u 的意思就是,设置当前分支的默认远程主机是 origin 以后上传当前 分支到 仓库的时候,直接"git push"就行了,不用写一堆后缀了。

补充

git push <远程主机名> <本地分支名>:<远程分支名> 这是git push 的完整使用命令

git push origin --delete <远程分支名>等同于
git push origin :<远程分支名> 表示删除远程分支

4. github fork, clone combo (开搞别人的github项目)

fork源仓库,直接再网页上fork源仓库到自己的github, 然后 clone:
直接打开本地的shell command, 移动到本地仓库文件夹目录(自定义创建一个就行)。
git clone git@github.com:xxx/xxxx.git 复制 你 GitHub里的fork的那个仓库到本地文件夹。(现在clone最好用ssh
git remote add upstream git@github.com:xxx/xxxx.git 添加上游代码仓库,就是 原来的别人的那个被你fork的仓库(即源仓库),upstream 是 一个新的<远程主机名>。
git remote -v | --verbose 列出详细信息,在每一个名字后面列出其远程url,此时, -v 选项(译注:此为 –verbose 的简写,取首字母),显示对应的克隆地址。 得知 <远程主机名>,无论是源仓库的是upstream ,还是fork到自己仓库的 <远程主机名>都可以看到。
git checkout -b 创建新的branch并切换过去<本地分支名> ==
git add .
git commit -m ‘asdasdasd’

git push -u <远程主机名> <本地分支名>:<远程分支名>
或者
git push -u <远程主机名> <本地分支名>

然后就可以正常用了。即常规combo:

git add.
git commit -m ‘asdasdas’
git push

5. github fork, clone + pull request combo

在4.的基础上,去和github上的源仓库合并:
在源仓库的网页上 点击pull request,然后base选择源仓库,需要被合并的仓库选择自己github里面fork过来的仓库。
然后中间过程会出现bug,再实际情况具体分析。
没有bug,网页会显示可以合并(able to merge),
填写 提交pr的说明文字。然后 create pull request。

ISSUE 1: 源仓库更新了,没法pull request:

(续4.)
git fetch upstream 从最新的源仓库拉 到 本地仓库
git merge upstream/main 从远程的upstream 的 main分支merge最新内容到本地的当前分支(HEAD)上。
然后再git push 就行了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值