您的位置:首页 > 其它

Git常用命令

2017-07-04 14:48 204 查看
工作以来,源代码管理工具使用过SVN,TFS,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


说明:有些情况下,提交代码至远程服务器需要强制push

git 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命令查看提交历史,每次提交都有个对应的commitid

git 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修改为develop

git 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: