git常用命令

1.git 常用命令:

cd 文件夹名字 : 进入文件夹
cd … :返回上一个文件夹
git clone 项目地址 : 将项目复制到本地 *
git pull : 更新本地项目代码。
git branch : 查看当前分支
git branch -a : 查看项目所有分支
git checkout 分支号 :切换到指定分支 *
git status : 查看本地修改过但未提交的文件名 *
git diff : 查看本地修改过但未提交的文件
git reset --hard : 清除本地提交前的所有修改 *
git merge 分支号: 将指定分支的代码合并到当前的分支
git add . --all : 将本地所有修改提交 1 (代码仍在本地)
git commit -m “备注信息” : 将本地所有修改提交 2 (代码仍在本地)
git push origin 分支号 : 将本地的代码提交到远程代码库 3 (代码会提交到测试环境)
git@gitlab.alibaba-inc.com:csupplier-supplier/csupplier-supplier.git feature/20180622_2161256_quo_2

2.如何生成SSH key

Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置。
github的SSH配置如下:
1)设置Git的user name和email:
$ git config --global user.name “guoheng”
$ git config --global user.email “wb-gh179576@alibaba-inc.com”
2)生成SSH密钥过程:
①查看是否已经有了ssh密钥:cd ~/.ssh
如果没有密钥则不会有此文件夹,有则备份删除
②或者查询本地C:\Users\wb-gh179576.ssh是否生成有id_rsa和id_rsa.pub文件,若生成有文件则说明已经生成ssh key值
3)生成密钥命令:
$ ssh-keygen -t rsa -C “wb-gh179576@alibaba-inc.com”
按3个回车,密码为空。
Your identification has been saved in /home/tekkub/.ssh/id_rsa.
Your public key has been saved in /home/tekkub/.ssh/id_rsa.pub.
The key fingerprint is:
最后在本地C:\Users\wb-gh179576.ssh文件夹下,得到了两个文件:id_rsa和id_rsa.pub
4)添加密钥到ssh:ssh-add 文件名
需要之前输入密码。
5)在github上添加ssh密钥,这要添加的是“id_rsa.pub”里面的公钥,将id_rsa.pub中的内容全部复制到ssh菜单下
打开https://github.com/ ,登陆xuhaiyan825,然后添加ssh。
6)测试:ssh git@github.com
The authenticity of host ‘github.com (207.97.227.239)’ can’t be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘github.com,207.97.227.239′ (RSA) to the list of known hosts.
git@github.com: Permission denied (publickey).

3.rebase用法

1)rebase使用场景:
A从master拉dev1分支,B从master拉dev2分支,A修改dev1代码,增加feature1并合入master,那么B开发的master分支就不是最新的master分支,B需要做rebase,将本地master更新为最新master后,基于最新的master开发
如图:
在这里插入图片描述

2)执行步骤:
①在A做完hotfix后,B需在dev2分支上执行:
git:(dev2) git rebase master
rebase 做了什么操作呢?
• 首先,git 会把 feature1 分支里面的每个 commit 取消掉;
• 其次,把上面的操作临时保存成 patch 文件,存在 .git/rebase 目录下;
• 然后,把 feature1 分支更新到最新的 master 分支;
• 最后,把上面保存的 patch 文件应用到 feature1 分支上;
从 commit 记录我们可以看出来,feature1 分支是基于 hotfix 合并后的 master ,自然而然的成为了最领先的分支,而且没有 merge 的 commit 记录
②在 rebase 的过程中,也许会出现冲突 conflict。在这种情况,git 会停止 rebase 并会让你去解决冲突。在解决完冲突后,用 git add 命令去更新这些内容。
③解决完冲突后,执行git rebase --continue,这样 git 会继续应用余下的 patch 补丁文件。
④在任何时候,我们都可以用 --abort 参数来终止 rebase 的行动,并且分支会回到 rebase 开始前的状态。
git rebase —abort

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值