git 命令

git用户名邮箱的全局配置

git config --global user.name "xxxxx"           # 全局设置名字

git config --global user.email "xxxxx@xx.com"    # 全局设置邮箱

git config --list                                # 看全局配置

配置 SSH

  1. 创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

    ssh-keygen -t rsa -C "youremail@example.com"
    

    你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

    如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

  2. 去远程仓库添加自己的公钥

  3. 添加多个密钥

    在.ssh目录中添加config文件(无后缀名),文件内容如下

    #github配置
    Host github.com
        HostName github.com
        IdentityFile ~/.ssh/id_rsa
        User git
    #gitee的配置
    Host gitee.com
        HostName gitee.com
        IdentityFile ~/.ssh/compstar
        User git
    

工作流程图

版本库

工作区 —— 暂存区 ——- 本地仓库

git命令

echo "# git" >> README.md                        # 创建内容为"# git"的 README.md

git init                                        # 初始化本地git仓库(创建新仓库)

git add *(file)                                 # 添加所有到暂存区

git status                                        # 仓库当前的状态

git diff HEAD (file)                             # 查看(file)工作区和暂存区里面最新版本的区别

git commit -m ''                                # 把暂存区提交到版本库

git log                                          # 查看commit日志

git log      --pretty=oneline                    # 查看精简commit日志

git log     --graph                             # 命令可以看到分支合并图

git reflog  --pretty=oneline                    # 查看精简操作历史日志

git reflog                                      # 查看操作历史日志

git reset HEAD^                                 # 撤销没有push的commit

git reset --hard HEAD^                          # 回到上次版本

git checkout -- file                            # 可以丢弃工作区的修改(--很重要,不加为切换分支)

git reset HEAD file                                # 把暂存区的修改撤销掉(unstage),重新放回工作区

git reset --hard 3628164(版本号)                 # 回到某个版本

git reset 命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本

del fileName                                      # window cmd 下删除文件

git rm fileName                                 # 删除版本库里的文件

命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。

git clone                                        # 克隆下来

git remote -v                                   # 显示全部远程仓库

git remote add  远程名称(origin)  远程链接          # 添加远程仓库

git remote set-url 远程名称(orgin) 新远程地址        # 修改远程仓库地址

git remote rm origin                               # 删除远程仓库地址

git push -u origin master                        # 第一次推送分支到远程仓库(-u 本地分支和远程分支关联起来)                

git push                                          # http://www.cnblogs.com/qianqiannian/p/6008140.html

git stash                                       # 当前工作现场“储藏”起来,等以后恢复现场后继续工作

git stash list                                  # 储藏列表

git stash apply                                 # 恢复之前储藏的,但是stash内容不会被删除

git stash apply stash@{0}                       # 恢复到指定的版本

git stash drop                                  # 把上面没删除的stash 删除掉

git stash pop                                   # 恢复储藏的同时把stash内容也删了

git 分支命令

git branch                                         # 查看分支

git branch -v                                     # 列出本地分支并显示最新commit

git branch -a                                     # 列出远程分支

git checkout -b dev                                # 创建分支dev并切换到dev

git checkout -b dev    origin/dev                    # 创建远程分支dev到本地并切换到dev

git branch dev                                  # 创建dev分支

git checkout dev                                # 切换到dev分支 (与之前撤销文件有区别)

git branch -d dev                                # 删除分支dev分支

git branch -D dev                               # 删除未合并的dev分支

git merge 分支名称(dev)                          # 合并指定分支(dev)到当前分支(master)[fast-forword]

git merge --no-ff -m "merge with no-ff" dev     # 合并指定分支(dev)到当前分支(master)[非fast-forword] 区别在于分支

git log --graph --pretty=oneline --abbrev-commit# 分支合并情况

git log --graph                                 # 分支合并图


git push[你的远程仓库在本地的别名][空格][冒号][你的分支名字] 删除github上的分支

git 标签命令

git tag <tagname>(v0.1)                        # 当前commit 标记v0.1 标签

git tag -a <tagname> -m "说明" 指定版本号         # 用-a指定标签名,-m指定说明文字

git show <tagname>                                    # 查看标签信息    

git tag -d <tagname>                            # 删除标签

git push origin <tagname>                       # 推送便签到远程仓库

git push origin --tags                          # 所有没有推送到远程的都推送过去

git push origin :refs/tags/<tagname>            # 删除一个远程标签,需要先删除本地标签

git 常用命令
git常用命令

一个在线学习git的网址,挺不错的哦!

推荐文章