1. Git官网

https://git-scm.com/downloads

官网可直接下载,傻瓜式安装

2.初始化配置

启动Git Bash 初始化用户名以及邮箱

git config --global user.name "Your Name"
git config --global user.email "email@example.com"

注意git confi g命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

3.创建空版本库

git init

4.下载远程代码

git clone git@gitee.com:supermap/SuperMap-iDesktop-Cross.git

5.1列出本地所有branch

git  branch -l

5.2显示远端branch

git branch -r

6.版本切换

Git checkout

7.1查看日志

git log

7.2展开显示每次提交内容差异

git log -p

8.删除branch

git branch -D branch name

9.分支合并

git  merge  --no-ff  branch name

--no-ff指的是强行关闭fast-forward方式
fast-forward方式就是当条件允许的时候,git直接把HEAD指针指向合并分支的头,完成合并。属于“快进方式”,不过这种情况如果删除分支,则会丢失分支信息。因为在这个过程中没有创建commit
git merge --squash是用来把一些不必要commit进行压缩,比如说,你的feature在开发的时候写的commit很乱,那么我们合并的时候不希望把这些历史commit带过来,于是使用--squash进行合并,此时文件已经同合并后一样了,但不移动HEAD,不提交。需要进行一次额外的commit来“总结”一下,然后完成最终的合并。

总结:
--no-ff:不使用fast-forward方式合并,保留分支的commit历史
--squash:使用squash方式合并,把多次分支commit历史压缩为一次

10.拉取远端

git pull

git pull 还可以合并远端修改到本地

在master A、B 在同一位置各自branch出一个分支进行各自的开发工作

A开发结束合并自己的改动到master

B继续开发,当B开发结束后要往master中合并时不能顺利进行 必须先合并master上的改动到branch B 上才可以继续合并

此时使用git pullorigin 合并远端master到branch B 上接着可以继续合并到master

11.推送本地修改到远端

git push

如果没有指定远端分支

12.回退

#向上回退100个版本
git reset --hard HEAD~100

#向上回退一个版本
git reset --hard HEAD^

gitcheckout. #本地所有修改的。没有的提交的,都返回到原来的状态
gitstash#把所有没有提交的修改暂存到stash里面。可用gitstashpop回复。
gitreset--hardHASH#返回到某个节点,不保留修改。
gitreset--softHASH#返回到某个节点。保留修改

13.使用ssh agent 管理私钥

step1. 开启 ssh-agent
$ evalssh-agent
Agent pid XXX
step2. 添加私钥
$ ssh-add ~/.ssh/id_rsa (如果生成密钥时是使用的默认的,那么就是这个了,如果不是的话就写你的私钥地址吧)

14. 合并多个次提交

使用git rebase合并多次commit

长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn