git入门笔记
来源:互联网 发布:1.5斤麒麟鞭弹簧垫数据 编辑:程序博客网 时间:2024/06/15 02:05
git是目前企业开发中广泛使用的工具,是一个以c编写的分布式版本控制系统,其核心思想是每个成员都保留完整版本,相互推送修改。
(一)git的安装配置 :
1.下载对应版本的git,安装。
2. 配置环境变量:
创建GIT_HOME=H:\git\INS\Git\(安装目录)
加入path:%GIT_HOME%\bin;%GIT_HOME%\mingw64\libexec\git-core
在命令行中输入git --version判断是否安装配置成功。
(二)在使用git之前先有个大体思路:
git管理一个文件夹下的所有文件,这个文件夹称为工作区。
修改工作区文件后先保存到暂存区(也叫添加索引)。
把暂存区的修改保存到版本库。
上传版本库到远程仓库。
(三)使用git:虽然有一些可视化工具可以很方便的操作git例如eclipse的git插件(用得也很多),但命令行操作可以更好的理解git的工作流程。
首先进入git的shell窗口git Bash:
1.使用pwd查看当前文件夹位置,进入要管理的文件夹下。
2.使用命令 git init 在当前目录下创建本地版本库,查看文件夹发现多了.git文件夹。
3.使用git status查看此本地库的工作情况,添加文件,再查看,发现有文件未被追踪。
4.使用命令git add 文件名添加到暂存区。再查看状态,发现变为待提交。
5.使用命令git commit -m "版本描述"提交到版本库,首次提交会提示让你修改用户信息使用一下命令:
git config --global --edit
git commit --amend --reset-author
6.使用命令git log查看提交历史,git diff来查看修改内容。
7.建立远程库:git remote add origin "url" url为你在github上创建的repository对应的url。以后origin代表此远程库。首次上传命令为git push -u origin master,把master分支上传到远程库origin.默认每次上传都要输入github的用户名和密码。主要如果远程库已存在文件,则要进行一次合并操作,git pull --rebase origin master
解决windows免密码push方法:
创建环境变量HOME=HOME%USERPROFILE%
在用户目录下新建文件(重点文件可新建txt然后去掉扩展名),文件内容:machine github.com login “username” password “password”
(在文件夹选项,查看,里去掉勾选隐藏已知文件后缀名)。
8.版本回退:首先查看历史记录:git log (可带简化输出参数--pretty=oneline)
当前版本在git中记为head,向前一次加一个^号,多个时记录为head~n。 回退指令: git reset -hard head~n
回退后最新版本将被改变,如果需改回来可使用命令: git relog查找所有版本号确定版本后执行 git reset --hard head 版本号即可。
要点:git的存储方式:文件系统中的文件为工作区,使用add命令后存入暂存区,commit提交暂存区中到版本库。
所以文件区修改后如果不add,不会影响暂存区和版本库,提交暂存区后如果要撤回可先git reset head xx ,然后再git checkout回退到版本库里的状态。
checkout命令是使工作区中文件和版本库中最新文件保持一致。
9.删除操作,先rm删除工作区中文件,然后如果确定则,git rm xxx并提交,若是误删,则使用checkout xxx即可恢复为版本库里的状态。
10. 从远程repository下载(clone)文件:新建一个文件夹然后在此文件夹下执行命令:git clone "url" 。
11.分支的创建和使用:使用git branch查看分支情况。若只有一个分支master,则创建分支dev:
git branch dev.
git checkout dev.(切换到分支dev).
也可采用一条命令:git checkout -b dev
不同分支的文件不会相互影响,且工作区里的文件会随着分支的切换到相应的状态。
分支合并:切换到master下 执行
git merge dev;
删除分支:git branch -d dev;
删除远程分支:git push origin --delete dev
获取远程库内容:git pull
12.冲突解决:当多个分支修改同一个文件合并会发生冲突,会在master文件中表明修改的不同之处,修改之后提交,删除分支即可。
合并分支默认是没有记录的,可以加上参数使其成为一个提交:git merge --no-ff dev,之后可查到合并记录。
13.bug处理:先保存工作区的工作(暂时无法提交)使用git stash存到别处,当修改完成后使用git stash apply恢复stash内容,并使用
git stash drop删除stash内容,或者直接用git stash pop,stash内容可用git stash list命令查看。
14.分支要合并后才能删除,或者要强制删除git branch -D <name>。
15.获取远程信息:git remote -v,推送分支git push origin xx
16.标签管理:创建标签 git tag 标签名 commit id (不写则为最新版), 查看标签 git show 标签名
命令git push origin <tagname>可以推送一个本地标签;
命令git push origin --tags可以推送全部未推送过的本地标签;
命令git tag -d <tagname>可以删除一个本地标签;
命令git push origin :refs/tags/<tagname>可以删除一个远程标签
17 忽略某些文件时,需要编写.gitignore放到git文件夹下里。
18在eclipse里使用git的要点:
- Git学习笔记--Git入门
- git入门笔记一
- git入门笔记
- git入门学习笔记
- git入门命令笔记
- Git 入门笔记(一)
- Git入门笔记
- 笔记之git入门
- git入门笔记
- git 快速入门 笔记
- Git及Github入门笔记
- linux git入门学习笔记
- 笔记:git入门(基于windows系统)
- Git入门学习笔记(二) 远程仓库
- Git入门笔记(一):Windows下载安装配置git
- [学习笔记]git学习笔记之入门与常用git命令
- GIT 入门
- Git入门
- 解决failed to push some refs to
- opengl(1)
- HDU
- nc 使用方法
- hihocode 1505 : 小Hi和小Ho的礼物
- git入门笔记
- 四位顶级AI大牛纵论:深度学习和大数据结合的红利还能持续多久?
- 进化规划算法
- php面试题汇总四(基础篇附答案)
- DedeCMS搜索结果页面调用自定义字段的方法
- Linux小知识
- 创新丨想创新?看看谷歌怎么做
- Java十进制数与其余进制数转换问题!!!!!!!
- Facebook与高通合作优化深度学习框架Caffe2