Git语法

作者: EraJieZhang | 来源:发表于2018-12-18 17:01 被阅读0次

一.绑定设置

  1. 设置你的名字和Email :

    git config --global user.name "Your Name" git config --global user.email "email@example.com"
    注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

  2. 创建版本库
    --创建文件夹(本本库)
    mkdir learngit --移动到这个版本库里 cd learngit
    --pwd命令用于显示当前目录。在我的Mac上,这个仓库位于/Users/michael/learngit。
    pwd 如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。 --把这个目录变成Git可以管理的仓库 git init
    Initialized empty Git repository in /Users/michael/learngit/.git/
    瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。
    如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看见。
    --SSH测试连接远程git仓库的权限(免费版本,付费版bitbucket)
    $ ssh -T git@github.com

二.把一个文件放到Git仓库

--把文件添加到仓库
$ git add readme.txt

--用命令git commit告诉Git,把文件提交到仓库
$ git commit -m "wrote a readme file"

--查看修改过的文件
$ git status

--具体修改了什么
$ git diff readme.txt

--查看日志(全部信息)
$ git log

--查看日志(简版只有commit_id  和日志)
$ git log --pretty=oneline

--回退一个版本
$ git reset --hard HEAD^

--查看文件内容
$ cat readme.txt

--跳转到指定的版本(commit_id前几位就行)
$ git reset --hard 1094a

--输出每次操作的记录id
$ git reflog

(每次修改后都需要add,如果不add就不会被提交上去)

--放弃缓存区里已经add但未commit的文件
$ git checkout -- readme.txt

--删除文件
$ rm test.txt
$ git rm test.txt
$ git commit -m "remove test.txt"
(rm文件后需要git rm 删除文件,在提交)

三.远程仓库

(在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步)

--创建SSH Key(邮箱要和github上的邮箱一样)
$ ssh-keygen -t rsa -C "youremail@example.com"
(把id_rsa.pub里的公钥复制到github上的ssh密钥里即可,之后的用户名密码什么的直接回车就行,其中有一个确认的过程 “y/n” 选yes )

--添加远程库
$ git remote add origin git@github.com:你的github账号/项目名.git

--把本地库的所有内容推送到远程库上(第一次需要-u,master是默认的分支也就是主分支)
$ git push -u origin master

--以后提交到远程库就不需要-u了
$ git push origin master

--从远程库克隆
$ git clone git@github.com:你的github账号/你的项目名.git

--输出查看本机的sshkey  如果没有使用 ssh-keygen生成在查看一下
$ cat ~/.ssh/id_rsa.pub

四.分支管理

--创建分支,并切换(最后面是分支名)
$ git checkout -b erajiezhang
    
--创建分支(最后面是分支名)
$ git branch erajiezhang

--切换分支(最后面是分支名)
$ git checkout erajiezhang

--查看当前分支
$ git branch

--删除分支(最后面是分支名)
$ git branch -d erajiezhang

--合并某分支到当前分支(最后面是分支名)
& git merge <name>

--禁用Fast forward合并分支(加上-m参数,把commit描述写进去)
$ git merge --no-ff -m "merge with no-ff" dev

--存储当前分支
$ git stash

--查看存储分支列表
$ git stash list

--恢复存储的分支
$ git stash apply

--删除存储的分支
$ git stash drop

--恢复的同时把stash内容也删了  
$ git stash pop 

--删除还没有合并的分支
$ git branch -D feature-vulcan

--查看远程分支
$ git remote

--查看远程分支的详细信息
$ git remote -v

--抓取远程的新提交
$ git pull

--在本地创建和远程分支对应的分支
$ git checkout -b branch-name origin/branch-name

--建立本地分支和远程分支的关联
$ git branch --set-upstream branch-name origin/branch-name

--把本地未push的分叉提交历史整理成直线
$ git rebase

五.标签管理

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

--查看所有标签
$ git tag

--对之前的提交创建tag
$ git tag v0.9 f52c633

--查看标签信息
$ git show <tagname>

--创建带有说明的标签,用-a指定标签名,-m指定说明文字
$ git tag -a v0.1 -m "version 0.1 released" 1094adb

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

--推送标签到远程仓库
$ git push origin <tagname>

--一次性推送全部尚未推送到远程的本地标签
$ git push origin --tags

--删除远程仓库的标签(需要现在本地删除)
$ git push origin :refs/tags/v0.9

六.自定义Git

--让Git显示颜色
$ git config --global color.ui true

忽略某些文件时,需要编写.gitignore

--强制添加到Git
$ git add -f App.class

--检查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'(把暂存区的修改撤销掉(unstage),重新放回工作区)
$ 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"

--查看别名
$ cat .gitconfig

相关文章

  • Git command line

    Git 配置 1.1. git config git config 语法:git config [–环境参数] k...

  • 理解git reset方法和各种参数的用法

    1. git reset 语法 命令格式:git reset [--soft | --mixed | --hard...

  • Git语法

    git add file ------------------将文件添加到仓库git commit -m "Con...

  • Git语法

    一.绑定设置 设置你的名字和Email : git config --global user.email "ema...

  • Git 语法

    原版地址 : 原版 当前页面防止自己找不到 Git Cheat Sheet 中文版 Other Available...

  • zsh实用插件

    git 默认git已经安装。 zsh-syntax-highlighting 语法高亮 autojump 安装su...

  • Git命令

    git push 作用:将本地仓库中代码提交到远程仓库 语法 :git push 仓库地址 master git ...

  • git ssh 的设置处理

    1、理解git的原理和使用 1)下载git 2)git语法 2、SSH的生成 1) 用户配...

  • git 常用情景示例

    git 初始化 git 第一次提交 git 新建一个分支 git远程提交到新分支 语法:git push orig...

  • pipeline语法使用 maven 构建java应用

    基于pipeline语法 使用 maven 构建java应用 这个git仓库连接的代码可以从 流水线语法...

网友评论

      本文标题:Git语法

      本文链接:https://www.haomeiwen.com/subject/mqvlkqtx.html