本文章只包含常用的指令满足最低的基本使用,如需详细学习,请参照链接自行学习
初次使用:需配置git的邮箱和你的签名ID
$ git config --global user.name "John Doe" $ git config --global user.email johndoe@example.com
git config是配置git的命令,如果不使用 –global选项,则配置的只应用于当前目录,保存在.git/config目录里
配置git支持中文
git config –global core.quotepath false
git status -s
开始使用,基础篇
$ git init –在所需管理的文件夹根目录执行该命令,初始化仓库
$ git add * –将该文件夹下的所有文件加入到管理中(为了方便,可以全部加入管理,然后使用图形界面选择忽略)
$ git commit –提交,将当前的改动推送至本地仓库
这样就完成了仓库的建立
仓库的使用
git clone –在仓库完成建立的时候就可以在其他已被允许的机器上使用git clone命令克隆一个仓库
例:$ git clone git://github.com/AlpacaKnight/test.git
git add –后接文件名,将所需的文件添加至提交列表
git rm –cached <filename> | * 从暂存区删除添加或改动的的文件
git commit –暂存到git本地仓库
git push –提交修改,推送至远程仓库
git checkout — <filename> | *切换分支或回到历史版本
git remote add origin <server> 把本地仓库连接到远程服务器
创建分支:
$ git checkout -b <branch>
切换回主分支:
$ git checkout master
列出所有分支:
$ git branch
合并指定分支到当前分支(默认使用fast forward方式):
$ git merge <branch>
普通模式合并(禁用fast forward,因为该方式合并后看不到历史提交信息):
$ git merge –no-ff -m “merge with no-ff” <branch>
删除分支:
$ git branch -d <branch>
丢弃一个没有被合并过的分支,可以通过如下命令强行删除:
$ git branch -D <branch>
推送到远端仓库:
$ git push origin <branch>
查看远程信息:
$ git remote -v
从远程获取最新版本到本地仓库,并自动merge到本地分支:
$ git pull origin master
从远程获取最新版本到本地仓库,不自动merge到本地分支:
$ git fetch
合并分支前先到另外一个分支更新代码,然后本地合并后提交到远程仓库; 当有冲突时,可使用$ git diff或$ git status命令查看分支的差异,手工解决后,再执行$ git add <filename>命令以将它们标记为合并成功。查看提交记录图形信息:
$ git log –graph –pretty=oneline –abbrev-commit
标签的使用
创建标签:
$ git tag <tagname>
可使用命令如下命令找到历史提交的ID号:
$ git log –pretty=oneline –abbrev-commit
再打标签:
$ git tag v1.0 6224937
还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字:
$ git tag -a v1.1 -m “version 1.1 released” 3628164
查看标签:
$ git tag
查看标签信息:
$ git show v1.0
删除本地标签:
$ git tag -d v1.1
推送标签到远程:
$ git push origin <tagname>
一次性推送全部未推送的标签:
$ git push origin –tags
删除远程标签(先删除本地,再删除对应的远程tag):
$ git tag -d v1.1$ git push origin :refs/tags/v1.1
丢弃你所有的本地改动与提交,可以到服务器上获取最新的版本并将你本地主分支指向到它:
$ git fetch origin$ git reset –hard origin/master
移除所有未跟踪文件(一般会加上参数-df,-d表示包含目录,-f表示强制清除)
$ git clean [options]
多人协作的工作模式 :
- 首先,可以试图用$ git push origin <branch>推送自己的修改;
- 如果推送失败,则因为远程分支比你的本地更新,需要先用$ git pull试图合并;
- 如果合并有冲突,则解决冲突,并在本地提交;
- 没有冲突或者解决掉冲突后,再用$ git push origin <branch>推送就能成功;
- 如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令$ git branch –set-upstream <branch> origin/<branch>解决即可。
近期评论