git常用操作命令

====== 查看远程配置 ======

vi .git/config

====== SVN介绍 ======

Subversion的特点概括起来主要由以下几条:
每个版本库有唯一的URL(官方地址),每个用户都从这个地址获取代码和数据;
获取代码的更新,也只能连接到这个唯一的版本库,同步以取得最新数据;
提交必须有网络连接(非本地版本库);
提交需要授权,如果没有写权限,提交会失败;
提交并非每次都能够成功。如果有其他人先于你提交,会提示“改动基于过时的版本,先更新再提交”… 诸如此类;
冲突解决是一个提交速度的竞赛:手快者,先提交,平安无事;手慢者,后提交,可能遇到麻烦的冲突解决。

====== Git介绍 ======

1.Git中每个克隆(clone)的版本库都是平等的。你可以从任何一个版本库的克隆来创建属于你自己的版本库,同时你的版本库也可以作为源提供给他人,只要你愿意。
2.Git的每一次提取操作,实际上都是一次对代码仓库的完整备份。
3.提交完全在本地完成,无须别人给你授权,你的版本库你作主,并且提交总是会成功。
4.甚至基于旧版本的改动也可以成功提交,提交会基于旧的版本创建一个新的分支。
5.Git的提交不会被打断,直到你的工作完全满意了,PUSH给他人或者他人PULL你的版本库,合并会发生在PULL和PUSH过程中,不能自动解决 的冲突会提示您手工完成。
6.冲突解决不再像是SVN一样的提交竞赛,而是在需要的时候才进行合并和冲突解决。
7.Git 也可以模拟集中式的工作模式
8.Git版本库统一放在服务器中
9.可以为 Git 版本库进行授权:谁能创建版本库,谁能向版本库PUSH,谁能够读取(克隆)版本库
10.团队的成员先将服务器的版本库克隆到本地;并经常的从服务器的版本库拉(PULL)最新的更新;
11.团队的成员将自己的改动推(PUSH)到服务器的版本库中,当其他人和版本库同步(PULL)时,会自动获取改变
12.Git 的集中式工作模式非常灵活
13.你完全可以在脱离Git服务器所在网络的情况下,如移动办公/出差时,照常使用代码库
14.你只需要在能够接入Git服务器所在网络时,PULL和PUSH即可完成和服务器同步以及提交
15.Git提供 rebase 命令,可以让你的改动看起来是基于最新的代码实现的改动
16.Git 有更多的工作模式可以选择,远非 Subversion可比

====== 设置git用户名/邮箱 ======

git config --global user.name '用户名'
git config --global user.email '邮箱'

====== 修改config保存git用户名密码 ======

1.输入一次之后直接保存在config文件
命令:

git config --global credential.helper store

====== 创建本地仓库 ======

1.创建命令

git init


====== 文件添加到本地仓库(暂存区) ======
1.添加文件test到暂存区

git add test.txt

====== 丢弃工作区的修改(add之前) ======

1.丢弃工作区的修改
命令: 

git checkout -- test.txt

====== 撤销暂存区的修改 ======

1.撤销属于暂存区的修改
命令:

git reset HEAD test.txt

====== 删除文件 ======

1.删除版本库里的文件
命令:

git rm test.txt

====== 撤销删除 ======

1.撤销删除工作区的文件(已经提交到了版本库)
命令:

git checkout --test.txt


====== 把文件提交到本地仓库(提交到仓库所在分支) ======

1.把暂存区文件提交到本地仓库
命令:

git commit -m '注释'

====== 查看仓库当前状态 ======

1.查看暂存区修改了什么内容信息
命令:

git status

====== 查看文件修改了什么内容 ======

1.查看test.txt文件修改了什么内容
命令:

git diff test.txt

====== 查看提交记录 ======

1.查看提交记录信息列表形式显示
命令:

git log --pretty=oneline

====== 回退到上一个版本 ======

1.回退到上次提交的版本

git reset --hard HEAD^

====== 回退到指定版本 ======
1.退回到指定的版本 例如前缀是:1a2s
命令:

git reset --hard 前缀

====== 历史提交记录 ======

1.查看用户历史提交记录
命令:

git reflog

或者:gitk
注:若打开的gitk界面中的中文注释是乱码,可以执行git config --global gui.encoding utf-8

====== 克隆远程仓库到本地 ======

1.克隆远端仓库到本地仓库
命令:

git remote add origin http://zhengyazhao/root/test.git

====== 推送本地内容到远程仓库 ======

1. 首次推送:

git push -u(把本地分支推送到远程同名分支并且和远程分支关联起来) origin master


2. 正常推送:

git push origin master:master(本地分支)

====== 克隆远端分支到本地 ======

1.从远端分支克隆到本地
命令:

git clone http://localhost/test.git

====== 获取最新代码并且合并 ======

1.更新远程分支到本地:

git pull origin master:test(本地库)


2.默认不填写更新并且合并到同名分支:

git pull origin master

====== 从远端获取最新版本到本地分支 ======

1.获取远端分支最新代码到本地分支

git fetch origin master

====== 创建分支 ======

1.创建分支:

git branch dev

2.创建分支并切换到该分支:

git checkout -b dev

====== 切换分支 ======

1.从master分支切换到dev分支
命令:

git checkout dev

====== 查看当前分支 ======

1.查看当前本地仓库分支信息
命令:

git branch (分支前带*号表示当前工作分支)

====== 分支合并 ======

1.当前分支处于master
2.需求要把dev分支内容合并到master分支当中
3.使用命令

 git merge dev

====== 删除分支 ======

1.删除无用的分支(已经合并的分支)
命令:

git branch -d dev

====== 分支合并图 ======

1.查看分支合并的信息
命令:

git log --graph

====== 隐藏工作区内容 ======

1.把工作区修改的内容还未提交到暂存区的代码隐藏起来
命令:

git stash

====== 查看隐藏工作内容 ======

1.查看隐藏区域内容
命令:

git stash list

====== 恢复隐藏区的内容 ======

1.恢复隐藏区内容
命令:

git stash apply


2.删除隐藏区信息
命令: 

git stash drop


3.恢复隐藏区内容的同时,删除隐藏区stash
命令:

git stash pop

====== 删除远端分支 ======

1.命令:

remote/origin/master


原文地址:https://www.cnblogs.com/zhengyazhao/p/11126288.html