实习-git

2018/07/11

参考:git-廖雪峰的官方网站

版本回退:

从最近到最远的提交日志:git log
 如果嫌输出信息太多,可以加上--pretty=oneline

git使用HEAD表示当前版本,上一个版本就是HEAD^,上上个版本就是HEAD^^,很多个版本就是HEAD~n
 命令:git reset --hard HEAD^

从过去回到未来:git reset --hard 版本号(版本号不需要写全,写前几位即可)

git reflog用来记录每一次命令

撤销修改:

撤销工作区:git checkout --filename
 撤销提交到暂存区的:git reset HEAD filename

删除文件:

删掉提交到版本库的文件:git rm filename
 然后:git commit -m "remove filename"

工作区误删:
 从版本库替换工作区:git checkout --filename

分支管理:

创建dev分支,然后切换:
git checkout -b dev
 相当于以下两条命令:
  git branch dev
  git checkout dev

查看分支:
git branch;当前分支前面会标一个*
git branch -a:查看远程分支

切换回master分支:git checkout master

把dev分支的工作成果合并到master分支上:git merge dev

删除分支:git branch -d dev

查看分支合并图:git log --graph

分支合并策略:合并分支时加上--no-off就可以使用普通模式合并合并后的历史有分支

BUG分支:
 工作途中需要修复bug,可以把当前工作储藏起来git stash
 恢复:两种方式
  git stash apply:stash内容没有删除:git stash drop
  git stash pop恢复的同时把stash内容删除

feature分支:添加新功能
 丢弃一个没有合并的分支(强行删除):git branch -D name

多人协作:远程仓储的默认名称是origin
 查看远程仓库的信息:git remote或者git remote -v
 推送分支:把该分支上的所有本地提交到远程库,推送时要指定本地分支

推送master分支:git push origin master
如果要推送其他分支,比如dev:git push origin dev
那些需要推送到远程:
 master是主分支,要时刻与远程同步
 dev是开发分支,团队成员都需要在上面工作,需要同步
 bug分支只用于本地修复bug,不需要
 freature分支是否需要,取决于自己

因此,多人协作的工作模式通常是这样:
 首先,可以试图用git push origin <branch-name>推送自己的修改;
 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
 如果合并有冲突,则解决冲突,并在本地提交;
 没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!
 如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>。

标签管理:

创建标签:git tag name
 查看所有标签:git tag
对某一个commit id打标签:git tag name id
 标签不是按时间顺序的,而是按字母顺序
查看标签信息:git show tagname
创建带有说明的标签:-a制定标签名,-m指定说明文字:git tag -a name -m "info" id
删除标签:git tag -d name
推送:git push origin tagname
删除远程标签(先删本地):git push origin:/addr/tagname

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。这样一来,任何一处协同...
    __silhouette阅读 16,135评论 5 147
  • Git常用语法 [TOC] Git简介 描述 ​ Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,...
    君惜丶阅读 9,233评论 0 13
  • 我是怎么知道007的?因为看见创始人搞事情。我是怎么认识创始人的?因为我们都是左撇子,我们在左撇子群随意加了个好...
    乌龟大侠阅读 3,114评论 2 0
  • 小姨吃饱饭后,把碗筷往桌上一扔,从女佣手上抱过小孩,然后便回房间睡觉,随即小姨父和蔼地对凡宜笑说:“有没有吃饱?”...
    云竹chen阅读 1,603评论 0 0
  • 说每一个说“江湖再见,前程似锦”的男人,是不是都有一个柔软的心,在说那句话的时候眼泪是否已经悄然到了眼角儿? 这是...
    二刚的轨迹阅读 2,515评论 1 0

友情链接更多精彩内容