赞
踩
目录
3:设置Windows的gitee凭证(来公司接手别人的电脑,所以电脑的gitee信息是别人的要修改)
1:创建本地分支dev,并和远程分支关联(远程分支的创建也是通过本地git操作来创建的)
2:把dev分支同步到master中 || master同步到dev中
4:fatal: Unable to create ... git index.lock
版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。
简单说就是用于管理多人协同开发项目的技术。
git服务器有很多,像github,gitee,这些都是开源代码的远程仓库。但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用。
SVN:集中版本控制:所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改,如服务器 会损坏,就会丢失所有的数据
Git:分布式版本控制:所有版本信息仓库全部同步到本地的每个用户,每个人都拥有全部的代码
Git安装无脑下一步就行了,安装完Git会自动帮你配置环境变量 不需要自己配
设置默认编辑器notepad或者sublime都行
不用配置环境变量,安装完事他自动给你配上
Git Bash:Unix与Linux风格的命令行,使用最多,推荐最多
Git CMD:Windows风格的命令行
Git GUI:图形界面的Git,不建议初学者使用,尽量先熟悉常用命令
git config --global user.name "bai" #名称
git config --global user.email 24736743@qq.com #邮箱
文件件位置C:\Users\Administrator\ .gitconfig(设置用户名与邮箱后 就会有))
ssh-keygen -t rsa -C "2448003093@qq.com"
(上面是密钥,下面是公钥)
---(公钥放在github或gitee个人设置里)
将公钥信息内容复制码云账户中
---(密钥放在sourceTree里)
设置用户名与邮箱(用户标识,必要)
git config --global user.name "bai" #名称
git config --global user.email 24736743@qq.com #邮箱
---
查看所有配置文件(这个是包含后边的系统和用户配置的):git config -l
查看系统配置:config:git config --system --list
文件位置:E:Git\etc\gitconfig
查看当前用户(global)配置:git config --global --list
----
git branch命令解析_Karson Tiger的博客-CSDN博客 (大佬写的很全,借鉴一下)
git branch -a // 查看所有分支列表(包含 "本地和远程" 分支)(本地绿,远程红表示)
git branch -vv // 查看本地分支和远程分支的绑定情况 (包含最新一次提交的信息)
git branch // 列出 "本地" 分支,当前分支会用 * 标记(不如a)
git branch -r // 查看 "远程" 仓库的分支列表(不如a)
git branch -v // 查看一个分支的最新一次提交
git branch --merged // 查看哪些分支已经合并到当前分支(即哪些分支是当前分支的直接上游)
git branch --no-merged // 查看所有未合并工作的分支
本地仓库绑定远程github(这个是一个文件夹对应一个远程,而不是整个本地)(绑定是为了上传,不是克隆)
git remote add origin https://gitee.com/zhang-haifeng/mycode
或者git remote add origin git@gitee.com:zhang-haifeng/enviroment.git
更换远程绑定
git remote set-url origin https://gitee.com/zhang-haifeng/XXX.git
查看文件夹绑定的远程地址
git remote -v
git add .
(添加所有文件到暂存区(.代表所有),add和后面的点要有空格)
git commit -m "消息内容即注释"
提交暂存区中的内容到本地仓库 -m 提交信息( commit -m 'a' 必须要有后边-m注释 )
#本地文件上传至远程
git push
git push --set-upstream origin master:master和git push -u origin master有同样的效果,都是将本地分支和远程分支绑定。用完这个命令绑定并上传后,以后再上传只用git push 就可以了
忽略文件:有些时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等
#为注释
*.txt #忽略所有 .txt结尾的文件,这样的话上传就不会被选中!
!lib.txt #但lib.txt除外
/temp #仅忽略项目根目录下的TODO文件,不包括其它目录temp
build/ #忽略build/目录下的所有文件
doc/*.txt #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
#查看指定文件状态
git status [filename]
#查看所有文件状态
git status
查看提交日志git log (每个版本有不同的标识符)
查看提交及回退记录 git reflog
版本回退两个版本git reset --hard HEAD~2
前进版本git reset --hard +版本标识符(这个写前几位就行不用全写,独特的位)
文件feng.txt已提交后被删除,想恢复git checkout--feng.txt (因为在版本库中还有这个文件)
同时删除工作空间和版本库对应信息 rm +文件名
Workspace:工作区,就是你平时存放项目代码的地方
(add 到暂存区)
Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
(commit 到本地仓库 )
Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
(push 到远程仓库)
Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换
git的工作流程一般是这样的:
1、在工作目录中添加、修改文件;
2、将需要进行版本管理的文件放入暂存区域;
3、将暂存区域的文件提交到git仓库。
因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)
文件的四种状态:
Untracked: 未跟踪,没有加入git库,不参与版本控制(我感觉就是没有.add--错了,这其实就是你比如当前文件夹原来有.add然后你又新建了一个文件,这个 文件就是未跟踪)。可以通过add命令使得状态变为staged
Unmodify: 文件已经入库, 未修改(表示版本库内容和文件夹一致)。可以通过add命令使得状态变为staged
Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作(表示版本库内容和文件夹不一致)。可以通过add命令使得状态变为staged
Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态
都属于git的传输协议(clone和push都是传输)
借鉴大佬的文章:谈谈HTTPS和SSH_ChronoStein_2的博客-CSDN博客_ssh和https
(两种方式)
第一种:创建全新的仓库,命令git init,创建完成就多出一个.git文件
第二种:克隆远程仓库,(两种方式https和ssh)
使用码云创建一个自己的仓库
克隆到本地,命令git clone https://gitee.com/kuangstudy/openclass.git
(主要看第四步就行,其他的在必要设置里已经设置完了)
本地仓库推送到远程(两种方式https和ssh(推))( https每次fetch和push代码都需要输入账号和密码, SSH url 克隆的话,必须是这个仓库的拥有者 。 )
将本地项目推送到远程
1:注册码云绑定邮箱
2:配置用户名和邮政(让仓库人知道提交人信息)
git config --global user.name "kuangshen"
git config --global user.email 24736743@qq.com
3:在git客户端用命令(输入完命令后多点几个回车),生成私钥和公钥
$ ssh-keygen -t rsa -C "2448003093@qq.com"
打开公钥并复制内容添加到码云账户设置中的ssh公钥中( 避免每次拉取提交都要输入git用户和密码)
3:码云中创建一个仓库,用来接收本地项目
4:绑定github(这个是一个文件夹对应一个远程,而不是整个本地)(绑定是为了上传,不是克隆)
git remote add origin https://gitee.com/zhang-haifeng/mycode
或者git remote add origin git@gitee.com:zhang-haifeng/enviroment.git
5:将文件add和commit到版本库中
6:用命令上传到远程仓库,(敲击完命令要写yes)
git push -u origin master
git push --set-upstream origin master:master和git push -u origin master有同样的效果,都是将本地分支和远程分支绑定。
git push -u什么意思 和git push --set-upstream origin master:master什么意思_Will_Che的博客-CSDN博客
git branch -a // 查看所有分支列表(包含 "本地和远程" 分支)(本地绿,远程红表示)
Git创建本地分支并关联远程分支_惊鸿一博的博客-CSDN博客
git 分支代码合并到master主分支上或者master合并到开发分支_git命令 所有merge到master分支打代码新增行数_码农阿茹的博客-CSDN博客
在 IDEA 中使用 Git 图文教程_华仔仔coding的博客-CSDN博客_idea使用git
分支部分:Git在IDEA中的使用(详细图文全解)_拧螺丝专业户的博客-CSDN博客_git的idea
查看git日志:
点进去会看到comiit前后的不同
选中本地仓库:
添加远程仓库:(一个本地可以对应多个远程仓库)
拉取远程仓库:pull=update project
查看分支:(idea右下角)
创建分支:
切换分支: checkout
在 分支上随便做点改动
提交同
将分支推送到远程:
也可以直点右上角
合并分支:(把b1合并到主分支)
(然后主分支就有了,b类的改动了)
如果修改 内容 就add,然后commit,然后push
Terminal是可以输入git命令的,Version Control可以查看日志和控制台,在日志中会显示进行了哪些提交 右下会显示提交前后的不同
Local changes可以看到 哪些文件进行了修改(不需要add)
原因:没有将本地的分支与远程仓库的分支进行关联
git push报错:The current branch master has no upstream branch - 简书(里面有点小问题,git branch -a是看本地和远程分支的 绿表示本地红表示远程
)
-------------------
原因:github中有README.md文件,而本地没有。
解决: 可以通过如下命令进行代码合并
首先git pull --rebase origin master
然后git push -u origin master
在 .git文件夹里把index.lock删除就好
zip目录不对,而且没.git文件夹
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。