git常用命令

  • 设置Git的user name和email
//打开git.exe,输入命令:
$ git config --global user.name "name"
$ git config --global user.email "xxxx@qq.com"

//生成SSH密钥过程:
//查看是否已经有了ssh密钥:cd ~/.ssh
//如果没有密钥则不会有此文件夹,有则备份删除
//生成密钥:
$ ssh-keygen -t rsa -C "xxxx@vchangyi.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: 

//最后得到了两个文件:id_rsa和id_rsa.pub
//添加密钥到ssh:
//登陆gitlab, Profile Settings -> SSH Keys -> ADD SSH KEYS ,找到本地的id_rsa.pub文件,复制出里面的内容,添加到 key 内,此时 Title 会自动填上你的邮箱,没有的话手动填写, ADD KEY

 

  • 撤销操作

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

 

  • 回滚
git reset --hard HEAD^ //回到上一个版本
git reset --hard 3628164 //回到指定版本

 

  • git push origin local_branch:remote_branch

说明:local_branch必须为你本地存在的分支,remote_branch为远程分支,如果remote_branch不存在则会自动创建分支。

 

  • 打标签
git tag //列出现有标签

git tag 1.3 //打标签

git push origin --tags //推送本地新增的标签

 

  • 删除远程分支
git push origin --delete branchName

 

  • FETCH_HEAD

 是一个版本链接,记录在本地的一个文件中,指向着目前已经从远程仓库取下来的分支的末端版本。 

 

  • commit-id

在每次本地工作完成后,都会做一个git commit 操作来保存当前工作到本地的repo, 此时会产生一个commit-id,这是一个能唯一标识一个版本的序列号。 在使用git push后,这个序列号还会同步到远程仓库。

 

  • git fetch

这将更新git remote 中所有的远程仓库所包含分支的最新commit-id, 将其记录到.git/FETCH_HEAD文件中 

// git fetch更新远程仓库的方式如下
git fetch origin master:tmp 
//在本地新建一个temp分支,并将远程origin仓库的master分支代码下载到本地temp分支
git diff tmp 
//来比较本地代码与刚刚从远程下载下来的代码的区别
git merge tmp
//合并temp分支到本地的master分支
git branch -d temp
//如果不想保留temp分支 可以用这步删除

 

  • 查看远程分支
git branch -r

 

  • 查看所有分支,包括本地和远程的
git branch -a 

 

  • 什么是集中式和分布式版本控制系统?

集中式就是将整个文件统一放在特定服务器上,工作的时候先要从这个服务器上获取到最新版本,然后再进行自己的编辑修改,完了再提交到此服务器上。所以如果没有网络,就没法工作了。

分布式是每个人电脑上都有完整版本,没有网络也可以工作,可以同事之间交换修改部分,也可以统一设立中央服务器,然后得到每个人修改的记录。

 

  • 什么时候使用 rebase / merge?

假设场景:从 dev 拉出分支 feature-a。那么当 dev 要合并 feature-a 的内容时,使用 git merge feature-a;反过来当 feature-a 要更新 dev 的内容时,使用 git rebase dev。使用时主要看两个分支的"主副"关系。

 

  • 如何优雅的使用GIT?

https://juejin.im/post/5a54386af265da3e3b7a6317#heading-0

 

  • git 的shell脚本实例

https://www.jianshu.com/p/d3edcf4e9638

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值