git学习
来源:互联网 发布:土豆视频mac版 编辑:程序博客网 时间:2024/06/05 05:42
- 对git的理解
- 2申请github远程仓库
- 1生成公钥
- 在本地创建版本库
- 1把目录变成可以管理的仓库
- 2配置git
- 3添加文件到本地git仓库
- 4在git仓库删除文件
- 4远程仓库
- 1上传到远程库
- 2更新同步远程仓库到本地
- 2从远程库克隆
- 3删除远程仓库
- 5创建和合并分支
- 1合并分支的用途
- 2冲突解决
- 6标签管理
1对git的理解
例如我们每天要提交代码,那么每天都有相应的任务量,但是一个完整的项目需要好多人协同并且好多天才能完成,因此我们每个人不能等到自己的代码全部写完才传到代码仓库,因此要每天向仓库提交一定的代码,知道自己的任务完成.并且git还能知道你每次提交对原有的代码进行了那些修改,如果觉的自己更新的代码不如以前的代码git还可以回退到以前的代码.
在任意一个分支上面touch一个file文件,其他的分支上面都有这个文件,将文件git add file之后,每个分支上面还是有,但当在任意一个分支上面git commit之后,则只有那一个分支上面有文件file
—————->这个特性造成文件的多人合作.一个文件需要不同的技术人员添加各自的模块,那么每个技术人员所处不同的分支,只需要在自己的分支上面编辑文件file,然后add添加到仓库中,最终当所有的人将模块都添加完成,此时就可以将内容merge合并提交到远程的master仓库
2申请github远程仓库
申请完成后,通常为了自己本机能够通过ssh访问远程仓库需要在远程仓库中添加自己主机的公钥。
2.1生成公钥
ssh-keygen命令,生成的公钥在目录/home/用户名/.ssh/下面,讲文件id_rsa.pub内容粘贴在SSH and GPG keys 选项栏
3.在本地创建版本库
3.1把目录变成可以管理的仓库
建一个空目录,执行git init会看到生成一个隐藏文件.git
3.2配置git
配置您的名字和邮箱,这里用户名
gitconfig–globaluser.name“xxxxxxx” git config –global user.email xxxxx@example.com
查看自己的配置信息
gitconfig–list配置远程仓库的别名,这样在以后push推送的操作能简便些 git remote add 自己起的别名 https://github.com/自己的github账号/自己分支名称
例如:git remote add Git_repository https://自己的github账号/自己仓库名称
配置好后可以查看自己远程仓库的信息
$git remote -vvv
Git_repository https://github.com/xxxxxxxxxx/Git_repository (fetch)
Git_repository https://github.com/xxxxxxxxxx/Git_repository (push)
3.3添加文件到本地git仓库
git add file1
添加之后可以通过git status查看状态。
然后提交到本地仓库
$git commit -m “这里可以注明你提交的注释”
$git push origin master
将本地master分支推送到远程仓库origin
3.4在git仓库删除文件
git rm file1
git commit -m “delete file”
git push origin master
记得删除完后要重新push一下,不然仅仅是本地的file1删除了.远程仓库中还有file1文件
4远程仓库
可以在github上面注册.
4.1上传到远程库
查看已经存在的远程仓库,
git remote
如要查看远程仓库更加详细的信息
git remote -vvv
查看远程仓库分支信息
git remote show Git_repository,,这里我的远程仓库的别名叫做Git_rewpository
显示如下:
远程 Git_repository
获取地址:https://github.com/xxxxxxxxx/Git_repository
推送地址:https://github.com/xxxxxxxxx/Git_repository
HEAD 分支:master
远程分支:
dev 已跟踪
master 已跟踪
mnt 已跟踪
mnt_test4 已跟踪
为 ‘git push’ 配置的本地引用:
dev 推送至 dev (最新)
master 推送至 master (最新)
mnt 推送至 mnt (最新)
mnt_test4 推送至 mnt_test4 (最新)git push Git_repositoy master
推送本地master分支到远程Git_repository仓库的master分支相当于
git push Git_repositoy master:master
git push Git_repositoy dev
推送本地dev分支到远程dev分支
git push Git_repository dev:master
推送本地dev分支到远程master分支如果本地仓库mnt分支与远程仓库Git_repository的mnt分支不一样,则会导致本地添加的新文件无法提交到远程仓库,因此需要获取远程仓库的最新版本并且合并到本地mnt分支,这样就可以提交本地mnt分支上面的新文件了
git pull Git_repository mnt
4.2更新同步远程仓库到本地
git pull Git_reposity master
git pull:相当于是从远程获取最新版本并merge到本地
上述命令其实相当于git fetch 和 git merge
在实际使用中,git fetch更安全一些
因为在merge前,我们可以查看更新情况,然后再决定是否合并
4.2从远程库克隆
git clone git@github.com:michaelliao/gitskills.gi
4.3删除远程仓库
git remote rm Git_repository
5创建和合并分支
git branch 查看所有分支
git checkout dev 创建分支dev
git merge dev 合并分支
git branch -d dev 删除分支dev
5.1合并分支的用途:
git checkout master
git merge mnt
通常自己的一个项目要一个星期才能完成,那么不想每天把没完成的项目推送到小组项目仓库master分支上,但是还想自己的队友知道自己的项目进行到什么地方,因此可以创建一个新的分支,mnt在这个分支写自己的项目,并且每天add,,这样其他成员所处的分支也可以看见自己的项目,等项目全部完成就将mnt分支合并到master分支上面git merge mnt,然后git push master即可
5.2冲突解决
如果项目是多人合作有可能合并不了,会起冲突,例如dev分支的成员将file修改,并且git add; git commit而mnt分支的成员也将file修改并且git add ; git commit现在merge两个分支,
会出现如下错误:
自动合并 file
冲突(添加/添加):合并冲突于 file22
自动合并失败,修正冲突然后提交修正的结果
错误提示,因此要手动解决冲突首先查看冲突git diff
1.修改的少可以直接在文件中改
2.修改的多,用mergetool工具
设置mergetool工具为vimdiff
Git config –global merge.tool vimdiff
查看所有设置
Git config –list
输入git mergetool进行文件修改
修改完成后git commit -m进行完成合并操作,然后push一下即可
6标签管理
git 的标签管理。跟大多数的 VCS 工具一样,git 也有在历史状态的关键点“贴标签”的功能,一般人们用这个功能来标记发布点(例如’v1.0′)
给某次提交打标签
git tag -a v0.1 -m “updata mnt”
查看所有标签
git tag
查看标签的详细信息
git show v0.1
后期打标签:
显示提交历史:
git log –pretty=oneline
给某次提交打标签
git tag -a v0.1 43045b(43045b是提交历史的编号)
推送标签到远程
git push Git_repository v0.1
默认情况下,git push 命令并不会传送标签到远程仓库服务器上。 在创建完标签后你必须显式地推送标签到共享服务器上。 所以git push origin [tagname]即可.
git push Git_repository –tags
一次性推送很多标签
- 【git】git学习笔记
- 【Git】Git学习手册
- Git学习 -- Git 安装
- Git学习-GIT安装
- 【Git学习】git常用命令
- git学习:git常用命令
- git 学习
- git 学习
- Git学习
- Git 学习
- GIT学习。
- git学习
- Git 学习
- git 学习
- Git学习
- Git学习
- git 学习
- git学习
- [Unity基础]项目专属文件夹
- 数据结构学习笔记--树
- 自定义转场动画(二)
- 1002. 写出这个数 (20)
- bootstrap排版
- git学习
- FATAL: the database system is starting up
- win7/win10 64位 常见收费软件安装教程
- digraph
- sql 语句拼接 游标遍历和函数遍历
- 初识Mongodb
- android权限大全
- Groovy 闭包
- 1003. 我要通过!(20)