git常用命令详解

创建版本库:

  • 版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

1、创建一个目录:

$ mkdir demo 
$ cd demo/
2. 初始化版本仓库
$ git init

Git仓库创建成功,而且是一个空的仓库(empty Git repository),当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

 初始化配置:

配置使用git仓库的人员名称
    $ git config --global user.name "Your Name"

配置使用git仓库的人员email
    $ git config --global user.email "you@example.com"

配置到缓存,默认15分钟
    $ git config --global credential.help "cache --timeout=3600"

    $ git config --global color.ui true
    $ git config --global alias.coo checkout
    $ git config --global  alias.ci commit      
    $ git config --global alias.st status
    $ git config --global alias.br branch
    $ git config --global core.editor "mate -w" #设置editor使用textmate
    $ git config -l 列出所有配置
用户的git配置文件~/.gitconfig
    
规避不需要提交的文件,目录
    vim .gitignore
    .* 不提交隐藏文件
    .env ##不提交

查看、添加、提交、删除、版本回退

查看帮助:
    $ git help


显示某次提交的内容
    $ git show 
    $ git show $id

将文件修改提交到本地暂存区
    $ git add <file>
    $ git add . #将所有修改的文件提交到暂存区

将暂存区文件提交到版本库
    $ git commit -m <msg>
			 --message=<msg>

删除文件
   $ git rm <file> # 从版本库中删除文件
   $ git rm <file> --cached #从版本库中删除文件,但不删除工作区文件

版本回退
    $ git reset --hard HEAD^  向上回退一个版本
    git reset --hard ID号

查看文件diff

比较当前文件与暂存区文件之间的差异
    $ git diff <file>

比较两次提交之间的差异
    $ git diff <$id1> <$id2>

两个分支之间的比较
    $ git diff <branch1> <branch2>

比较暂存区与版本库之间的差异
    $ git diff --staged

比较暂存区与版本库之间的差异
    $ git diff --cached

掌握工作区状态
    $ git status 

查看提交记录

$ git log <file> #查看文件每次提交的记录
$ git log -p <file> #查看每次详细修改的内容的diff        
$ git reflog   #查看版本库管理记录信息 ,个人感觉这个命令比较好用  

远程版本库

$ git clone git@xxx.xxx.git #clone远程版本库
$ git remote add origin git@xxx.xxx.git
$ git remote -v # 查看远程仓库

提交修改

添加当前修改到暂存区
     git add .

如果自动追踪文件,包括手动删除的,状态为deleted的文件
    $ git add -u

提交你的修改
    $ git commit -m "你的注释"

推送更新到远程服务器,语法git push [远程名] [本地分支]:[远程分支]
    $ git push -u origin master

修改最后一次提交注释的,利用amend参数
    git commit --amend

回到最近一次git commit或git add时的状态。
    $ git checkout -- readme.txt

把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

  • 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

  • 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

查看,切换,创建,切换分支

查看分支
    $ git branch

创建新分支并切换
    $ git checkout -b dev
    git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
    $ git branch dev
    $ git checkout dev
    $ git checkout  $id -b <new_branch> #把某次历史提交记录checkout出来,创建新分支

查看各个各个分支最后提交信息
    git branch -v 

查看已经被合并到当前分支的分支
    git branch --merged

删除分支
    $ git branch -d <branch> # 删除某个分支
    $ git branch -D <branch> # 强制删除某个分支,未合并的分支被删除时需要强制

 

分支合并与rebase

将branch分支合并到当前分支
    $ git merge <branch>

不要Fast-Forward合并,生成新的merge提交
    $ git rebase master origin/master --no-ff

将master rebase到branch
    $ git rebase master <branch>

git补丁管理

生成补丁
    $ git diff > ../sync.patch

打补丁
    $ git apply ../sync.patch

测试补丁是否成功
    $ git apply --check ../sync.patch

git暂存管理

暂存
    $ git stash

列所有stash
    $ git stach list

恢复暂存的内容
    $ git stash apply

删除暂存区
    $ git stash drop

git 远程分支管理

抓取远程仓库所有分支更新合并到本地
    $ git pull

抓取远程仓库更新
    $ git fetch origin

将远程主分支合并到本地当前分支
    $ git merge origin/master

push所有分支
    $ git push

将本地分支推送到远程主分支
    $ git push -u origin master #用于初始化远程仓库

创建远程分支,origin是远程仓库名
    $ git push origin <local_branch>

创建远程主机
    $ git push origin <local_branch>:<remote_branch>

Git远程仓库管理

查看远程服务器地址和仓库
    $ git remote -v

查看远程服务器仓库地址
    $ git remote add origin git@xxx.xxx.git

删除远程仓库
    $ git remote rm <registry>

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值