一:git安装
在Windows上安装Git:
在Windows上使用Git,可以从Git官网直接下载安装程序https://git-scm.com/downloads,然后按默认选项安装即可。
安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
install-git-on-windows
安装完成后,还需要最后一步设置,在命令行输入:
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。
注意git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址
二:一些基本操作
1.查看本地的分支和远程的分支
$ git branch -a
2.git远程新创建了分支,但是本地看不到
$ git remote update origin --prune
3.远程有dev分支,本地没有,本地创建并切换
$ git checkout -b dev origin/dev
$ git checkout -b feature/alarmtoweb origin/feature/alarmtoweb
4.对于git管理的项目,查看是否修改了
$ git status
5.上传修改
$ git add xxx.cpp xxx.cpp $ git commit -m "一些说明" $ git push origin 分支名字
6.切换分支
$ git checkout dev
7.合并分支
假设想将dev分支合并到master分支:
1、首先切换到master分支上
$ git checkout master
2.如果是多人开发的话 需要把远程master上的代码pull下来
$ git pull origin master //如果是自己一个开发就没有必要了,为了保险期间还是pull
3.然后我们把dev分支的代码合并到master上
$ git merge dev
4、然后查看状态及执行提交命令
$ git status On branch master Your branch is ahead of 'origin/master' by 12 commits. (use "git push" to publish your local commits) nothing to commit, working tree clean //上面的意思就是你有12个commit,需要push到远程master上 > 最后执行下面提交命令 $ git push origin master
8.删除远程分支Chapater6
$ git push origin --delete Chapater6
9…删除本地分支 Chapater6
git branch -d Chapater6
10.本地Git仓库和GitHub仓库之间的SSH配置
第一步:创建SSH Key
$ ssh-keygen -t rsa -C "youremail@example.com" //然后一路回车,使用默认值即可
结果:可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
第二步:登陆GitHub/码云,打开“Account settings/设置”,选择“安全设置“下的”SSH Keys”:
将id_rsa.pub的内容复制到公钥,标题是你的邮箱:
11.本地仓库与远程仓库关联—多个不同的项目的过程一样
首先在自己电脑的某个目录下,创建与仓库的名字相同的目录:如honey_peach,然后进入该文件夹,右击打开git bash here。
第一步:创建git管理
$ git init
第二步:将本地仓库与远程仓库相连
$ git remote add origin git@github.com:michaelliao/learngit.git
第三步:将远程仓库拉下来
$ git pull origin master
注:这里默认本地仓库为空,远程仓库已经创建并且有内容了(如何创建以及内容生成后面会补,因为目前我只是参与者),其中 git@github.com:michaelliao/learngit.git 是你的github项目的克隆下载的ssh。
12.恢复本地误删除的文件
$ git status
$ git reset HEAD [ 被删除的文件或文件夹 ]
$ git checkout [ 被删除的文件或文件夹 ]
三:一些bug
1.码云出现git@gitee.com: Permission denied (publickey).
其实这个问题,我遇到的主要是SSH公钥的问题,需要重新生成一下。
1)首先删除自己已经配置的ssh:
2)重新生成
这个过程见上面的10.本地Git仓库和GitHub仓库之间的SSH配置这一部分,然后一般问题就会解决。
待更新----------