Git常用命令
2017-07-04 14:48
204 查看
工作以来,源代码管理工具使用过SVN,TFS,Git,最后独爱Git
本篇博客总结下自己工作中使用到的Git命令,主要目录如下:
获取远程代码
查看/修改配置信息
查看/提交修改的代码
查看每次提交明细
版本回退
分支管理
辅助命令
git重命名分支
拉取远程分支到本地
指定本地分支和远程分支关联问题
1.获取远程代码
一般每个使用Git作为源代码管理工具的公司,都会有自己的Git服务器,当我们获得项目的权限时,第一步肯定会把该项目的代码下载到本地,
命令如下:
本篇博客总结下自己工作中使用到的Git命令,主要目录如下:
获取远程代码
查看/修改配置信息
查看/提交修改的代码
查看每次提交明细
版本回退
分支管理
辅助命令
git重命名分支
拉取远程分支到本地
指定本地分支和远程分支关联问题
1.获取远程代码
一般每个使用Git作为源代码管理工具的公司,都会有自己的Git服务器,当我们获得项目的权限时,第一步肯定会把该项目的代码下载到本地,
命令如下:
git clone https://github.com/zwwhnly/WeiXinMPSDK.git[/code]
当出现如下窗口时,代表代码已下载完成
此时,你会发现本地增加了一个WeiXinMPSDK的文件夹,继续执行如下命令切换到代码目录cd WeiXinMPSDK/
此时会出现如下所示界面,代表切换到了代码的master分支:
如果服务器代码有了更新,需要获取最新代码,执行如下命令:git pull
此时会出现如下所示界面,出现Already up-to-date代表代码已经是最新的版本
2.查看/修改配置信息
查看所有配置信息命令如下:git config --list
查看某个配置信息命令如下:git config user.name
修改配置信息命令如下,以修改用户名和邮箱为例:git config --global user.name “xxx” git config --global user.email xxx@foxmail.com
3.查看/提交修改的代码
首先需要执行如下命令,知道本地代码的状态git status
如果没有修改过任何代码,则会出现如下图所示的情况
如果有过修改,则会出现如下图所示的情况
此时,先执行git add 命令,将文件跟踪/暂存起来git add .
此时,再次修改该文件,比如给方法添加了注释,再次运行git status命令,会看到该文件出现了两次,一次是未暂存,一次算已暂存,
实际上git 只暂存了运行git add命令时的版本,如果现在提交代码,那么提交的是添加注释前的版本
所以,运行了git add命令之后又修改了的文件,需要重新运行git add 命令把最新版本的代码重新暂存起来
此时,修改的代码还未提交,必须执行git commit命令才算提交,双引号中间的内容可以根据每次修改的代码自定义git commit -m "git commit test"
为了更加快捷,git允许add命令和commit命令一起执行来提交代码,如下所示:git commit -a -m "git commit test"
执行完commit命令后的代码,在远程服务器是获取不到的,如果想提交至远程服务器,必须执行git push命令git push origin master
说明:有些情况下,提交代码至远程服务器需要强制pushgit push --force origin master
4.查看每次提交明细
提交代码之后,如果想知道自己修改的明细,可以执行gitk命令查看提交历史,并看出自己修改了哪一部分代码gitk
查看修改的代码时,会发现中文乱码问题,如下所示:
执行如下git命令,解决中文乱码问题git config --global core.quotepath false git config --global gui.encoding utf-8 git config --global i18n.commitencoding utf-8 git config --global i18n.logoutputencoding gbk export LESSCHARSET=utf-8
此时,再执行gitk命令查看时,会发现中文可以正常显示
5.版本回退
有时候我们提交代码后,会发现提交错了,需要版本回退
首先,我们执行git log命令查看提交历史,每次提交都有个对应的commitidgit log
如果想单行显示,执行如下命令:git log --pretty=oneline
不管是哪种展现方式,黄色字体的部分代表每次的commitid,确定好自己要回退到的版本,将commitid复制出来,执行如下回退命令:git reset --hard 4751a9ae0b81e98e262064b308cd9372bc58b04f
6.分支管理
查看本地分支:git branch
查看远程分支:git branch -r
查看所有分支:git branch -a
创建分支,如创建dev分支git branch dev
切换分支,如切换到刚刚创建的dev分支git checkout dev
删除分支,如删除刚刚创建的dev分支git branch -d dev
注意:不能删除当前所在的分支,如你在dev分支时是不能删除dev分支的
创建分支并切换分支,如创建dev分支并切换到dev分支git checkout -b dev
合并某分支代码到当前分支,如正在dev分支,合并master分支的代码到dev分支:git merge master
7.辅助命令
清空git bash历史命令clear
打开code所在的资源管理器start .
8.git重命名分支
有时候,我们创建分支时会把分支名字写错了,那么我们怎么修改分支名称呢?
修改分支名称分以下两种场景:
场景1:只修改本地分支名称,远程还没有这个分支
执行如下命令即可把本地分支dev修改为developgit branch -m dev develop
场景2:远程已有这个分支
在git中,重命名远程分支,其实就是先删除远程分支,然后重命名本地分支,再重新提交一个远程分支
命令如下:git push --delete origin dev git branch -m dev develop git push origin develop
9.拉取远程分支到本地
首先执行命令拉取远程分支代码到本地:git fetch origin feature-offline1.1:feature-offline1.1
其中,feature-offline1.1为分支名称,拉取完成后执行git checkout命令切换到新创建的feature-offline1.1分支,git checkout feature-offline1.1
然后执行命令,指定下本地分支与远程分支的关系git branch --set-upstream-to=origin/feature-offline1.1 feature-offline1.1
10.指定本地分支和远程分支关联问题
新建一个本地分支后,必须要做远程分支关联,不然git pull,git push不能正确使用,会分别提示如下信息:
解决方法:git branch --set-upstream feature-possprint2 origin/feature-possprint2
其中,feature-possprint2为分支名称
执行完命令后,再次执行git pull,git push就会正常,如下所示:
参考链接:http://blog.csdn.net/hshl1214/article/details/51074206