git常用命令

来源:互联网 发布:四知先生文言文翻译 编辑:程序博客网 时间:2024/06/09 18:27

git 学习



1. 本地基本命令:

git config --global user.name "xxx"
设定用户名
git config --global user.mail "xxx@xxx.com"
设定邮箱
git init
把当前目录变成git可以管理的仓库
git add
把修改添加到暂存区
git commit -m "xxx"
把暂存区修改同步到仓库
git status
查看当前工作目录的状态
git diff <files>
比较文件在工作区(work directory)和暂存区(stage)的修改内容
git diff --cached <files>
比较文件在暂存区和分支(branch)的差异
git log
显示从最近到最远的提交日志
git log --pretty=oneline
同一个log只占一行
git reflog
查看历史命令
git reset --hard "commit id"
切换版本
git checkout -- <files>
丢掉工作区的修改


2. 分支管理

git checkout -b dev
创建并切换到dev 分支,等于git branch dev git checkout dev
git branch
列出所有分支
git merge dev
合并dev分支到当前分支
git branch -d <name>
删除分支
git merge --no-ff -m "merge with no-ff" dev
禁用Fast forward模式的分支合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward看不来曾经做过合并
git log --graph --pretty=oneline --abbrev-commit


分支策略

在开发中,我们应该按照几个基本原则进行分支管理:
1. master分支应该是很稳定的,也就是仅用来发布新版本,平时不能在上面干活
2. 在dev上干活,到发布版本时再把dev分支合并到Master上,在Master上发布版本
3. 每个成员都在dev上再开自己的分支修改,然后合并到dev分支上
所以,团队合作的分支看起来像这样:
团队合作分支图


bug分支

git stash
当工作进行到一半,还没办法提交的时候,可以先将当前工作现场存储起来,等以后在恢复现场进行处理
git stash list
查看已保存的工作现场列表,
git stash apply
恢复工作现场
git stash drop
删除保存的工作现场
git stash pop
恢复并删除工作现场


多人协作

git remote
查看远程库信息, -v 显示详细信息
git push origin master
把master分支在本地库的提交推送到远程库

并不是一定要把本地分支忘远程推送,那么那些需要推送呢?
- master分支是主分支,因此要时刻与远程分支同步
- dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步
- bug分支只用于在本地修复bug,不需要推送到远程
- feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发

git clone git@github.com:hxszk/learngit.git
从远程clone时,默认情况下只能看到本地的master分支。如果需要在dev分支上开发,就必须创建远程origin的dev分支到本地,命令如下:
git checkout -b dev origin/dev


3. 标签管理

发布一个版本的时候,我们通常先在版本库中打一个标签(Tag),这样就唯一确定了打标签时候的版本。取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是一个版本库的快照,跟当时版本的commit id绑定在一起。

git tag
查看所有标签
git tag <name>
为当前分支版本打标签
git tag -d <name>
删除标签
git push origin <name>
推送标签到到远程(默认情况下标签只存储在本地)
git push origin --tags
推送所有标签到远程origin
git tag -d <name>
git push origin :refs/tags/<name>
删除远程标签,需要先删除本地再删除远程标签

0 0
原创粉丝点击