常用Git命令和操作指引

一、重要概念

Git分为工作区暂存区本地仓库远程仓库
在这里插入图片描述
通过add命令,可以把文件放入暂存区;
通过commit命令,可以把修改放入本地仓库;
通过git push origin master,可以把本地仓库的内容提交到远程库;

快速合并(不保留分支信息):
在这里插入图片描述
普通合并(保留分支信息):
在这里插入图片描述
团队开发过程:
在这里插入图片描述
对于BUG的修改,一般是先保存目前的分支现场,然后再新分出一个分支,修复好BUG之后,再合并到主干上。然后恢复分支现场继续工作。

二、配置

key配置

  1. 首先要检查key是不是已经存在,
    打开一个终端,并输入以下命令:
$ ls -al ~/.ssh

如果结果列表中包含以下文件, 则不需要在生成新的KEY, 可以直接使用。

id_dsa.pub id_ecdsa.pub id_ed25519.pub id_rsa.pub

  1. 如果不存在, 则需要创建新的Key来使用。
    输入下面的命令来生成key, 注意替换你自己的邮箱地址。
$ ssh-keygen -t rsa -C "your_email@example.com"

Creates a new ssh key using the provided email Generating
public/private rsa key pair. Enter file in which to save the key
(/your_home_path/.ssh/id_rsa):

这里在提示你保存key的位置, 默认直接回车就可以。

Enter passphrase (empty for no passphrase):
当你看到这个的时候, 输入你的密码。
Enter same passphrase again:
再次输入, 以确认密码。

  1. 当以上步骤成功完成后, 你将看到类似与这样的结果:

Your identification has been saved in /your_home_path/.ssh/id_rsa.
Your public key has been saved in /your_home_path/.ssh/id_rsa.pub. The
key fingerprint is: 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db
your_email@example.com

  1. 执行以下命令将KEY加入到ssh-agent:
$ eval "$(ssh-agent -s)"

Agent pid 59566

$ ssh-add ~/.ssh/id_rsa
  1. 打开 ~/.ssh/id_rsa.pub文件, 复制其中所有的内容。然后把它粘贴到github的ssh key添加的表单中。
  2. 执行以下命令来测试key。
$ ssh -T git@github.com

三、命令使用

1.操作版本


创建版本库

$ git init

连接远程仓库

其中origin是本地对远程库的别称,不一定需要用origin

$ git remote add origin git@github.com:ruihanL/learngit.git

推送至远程服务器

此处指定推送至origin的master

$ git push -u origin master
$ git push origin master

带进度条,推送

git push --progress --porcelain gee refs/heads/apptestnew-210002:refs/heads/apptestnew-210002 --set-upstream

本地克隆远程库

$ git clone git@github.com:ruihanL/mygit.git

查看远程库信息

$ git remote
$ git remote -v

设置本地分支与远程分支的连接

$ git branch --set-upstream dev origin/dev

从远程库更新本地文件

$ git pull

多人协作的工作模式:

git push origin branch-name
git pull
git push origin branch-name
git branch --set-upstream branch-name origin/branch-name

2、分支操作

创建分支

$ git checkout -b dev  
$ git branch dev
$ git checkout dev

分支合并

$ git merge dev
$ git merge --no-ff -m “merge with no-ff” dev

删除分支

$ git branch -d dev

添加修改

$ git add readme.txt

提交修改

$ git commit -m "wrote a readme file"

查看状态

$ git status

对比文件

$ git diff readme.txt 
$ git diff HEAD -- readme.txt

查看日志

$ git log 
$ git log --pretty=oneline
$ git log --graph

工作区回到上个版本或某个版本

$ git reset --hard HEAD^
$ git reset --hard 3628164

查看所有的命令日志

$ git reflog

某个文件丢弃工作区回到上个版本(回到上一次commit或add之后的状态)

$ git checkout -- readme.txt

删除暂存区的内容

$ git reset HEAD readme.txt

删除某个文件

$ git rm test.txt
$ git commit -m "remove test.txt"

恢复某个被删除的文件

$ git checkout -- test.txt





## 保存工作现场
$ git stash

## 查看现场列表
$ git stash list

## 恢复现场
$ git stash apply
$ git stash pop
$ git stash drop




## 创建标签
$ git tag v1.0

## 查看所有标签
$ git tag
$ git tag v0.9 6224937
$ git tag -a v0.1 -m "version 0.1 released" 3628164
$ git tag -s v0.2 -m "signed version 0.2 released" fec145a


## 查看标签信息
$ git show v0.9

## 本地删除标签
$ git tag -d v0.1

## 推送本地标签到远程库
$ git tag -d v0.1

## 本地和远程删除标签
$ git tag -d v0.9
$ git push origin :refs/tags/v0.9






## 自定义Git
Git显示颜色
$ git config --global color.ui true

## 忽略文件
.gitignore文件

## 检查忽略规则
$ git check-ignore -v App.class

## 配置别名
$ git config --global alias.st status
$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch
$ git config --global alias.unstage 'reset HEAD'
$ git config --global alias.last 'log -1'
$ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"




## 拉取远程分支
拉取远程分支的所有信息,比如想要获得远程新创建的分支:
git -c credential.helper= -c core.quotepath=false -c log.showSignature=false fetch origin --progress --prune

简单指令:**git fetch** 

**git branch -a**   //  查看远程分支列表
**git checkout -b develop origin/develop**   // 核心一步:将远程仓库的develop分支拉取到本地develop分支,并切换到develop分支



## 参考链接
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/
https://git-scm.com/download/win
https://github.com
https://git-scm.com/book/zh/v1
https://blog.csdn.net/haohaojian/article/details/77529485?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

---
 未完待续。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值