git查看分支从哪拉出来的_Git学习
学习网址强烈推荐!!!简介目前世界上最先进的分布式版本控制系统,在处理文件,可以看到处理文件各个过程.即记录每次文件的改动.还有git也是Linux写出来,对就是写成Linux的那个Linux.关于分布式和集中式控制系统!大家自行百度安装本人是windows, 首先下载安装程序 开始菜单中有Git->Git Bash,跳出窗口,安装成功 输入命令行bash$ git config -...

学习网址强烈推荐!!!
简介
目前世界上最先进的分布式版本控制系统,在处理文件,可以看到处理文件各个过程.即记录每次文件的改动.
还有git也是Linux写出来,对就是写成Linux的那个Linux.
关于分布式和集中式控制系统!大家自行百度
安装
本人是windows
,
- 首先下载安装程序
- 开始菜单中有
Git->Git Bash
,跳出窗口,安装成功 - 输入命令行
bash $ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
完成
创建版本库
创建仓库:
想要变成仓库的文件下,打开git bash
输入git init
文件添加仓库:
告诉仓库我加了什么git add <文件名>
再提交git commit -m <解释说明这次提交的意义>
查看仓库状态
git status
查看仓库的状态,那些文件被修改过
git diff
可以查看修改内容
版本回退
每次更改文件就是一个版本
git log
参看历史版本
git reset --hard 版本id或者(HEAD^代表上个版本)
,在版本间更换
git reflog
参看未来版本
工作区和暂存区
工作区:就是我们创建那个仓库(文件夹)
暂存区:需要提交的文件通通放在暂存区,然后,一次性提交暂存区的所有修改,就是git status
那时候状态.
如果不添加到暂存区(add
),不能提交commit
撤销修改
- 打乱工作区,直接丢弃工作区修改
git checkout -- file
- 打乱了工作区,还添加到暂存区,首先,
git reset HEAD <文件名>
,在回到场景一,即git checkout -- file
- 修改版本,需要版本回退.
git reset --hard commit_id
删除文件
git rm
删除一个文件
远程仓库
众所周知就是GitHub
了,
添加SSH Key ,详细操作自行百度.
添加远程库
关联一个远程库:git remote add origin git@server-name:path/repo-name.git
关联后,使用命令git push -u origin master
第一次推送master分支的所有内容
每次本地提交后,只要有必要,就可以使用命令git push origin master
推送最新修改
从远程库克隆
知道仓库的地址,使用git clone
,可以使用多种协议,包括https
,但通过ssh
支持的原生git
协议速度最快
分支管理
创建与合并分支
参看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
解决冲突
当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。
用git log --graph
命令可以看到分支合并图。--pretty=oneline --abbrev-commit
可添加,是图看到更清晰.
分支管理策略
Git分支十分强大,在团队开发中应该充分应用。
合并分支时,加上--no-ff
参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward
合并就看不出来曾经做过合并。
bug 分支
修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git stash
一下,然后去修复bug,修复后,再git stash pop
,回到工作现场。
Feature 分支
开发一个新feature,最好新建一个分支;
如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>
强行删除。
多人协作
查看远程库信息,使用git remote -v
;
本地新建的分支如果不推送到远程,对其他人就是不可见的;
从本地推送分支,使用git push origin branch-name
,如果推送失败,先用git pull
抓取远程的新提交;
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name
,本地和远程分支的名称最好一致;
建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name
;
从远程抓取分支,使用git pull
,如果有冲突,要先处理冲突。
标签管理
版本号v1.0
创建标签
命令git tag <tagname>
用于新建一个标签,默认为HEAD
,也可以指定一个commit id;
命令git tag -a <tagname> -m "blablabla..."
可以指定标签信息;
命令git tag
可以查看所有标签。
操作标签
命令git push origin <tagname>
可以推送一个本地标签;
命令git push origin --tags
可以推送全部未推送过的本地标签;
命令git tag -d <tagname>
可以删除一个本地标签;
命令git push origin :refs/tags/<tagname>
可以删除一个远程标签。
更多推荐
所有评论(0)