github已有的项目上追加demo时,
打开git bash输入用户名和邮箱
1
2
|
$
git config --global user.name "Your
Name" $
git config --global user.email "email@example.com" |
利用git在本地进行版本库存储:
(打开Git.bash.exe)
1.git在本地指定地点建立仓库(或者是指向克隆下来的仓库):
1
|
cd
e:/github/Amyidol/webProject-demo.io |
2.初始化一个git仓库:
1
|
git
init |
3.向这个隐藏的文件夹中添加文件:README.md(可以是别的文件,要将这个文件放在.git同级文件夹下):
1
|
git
add html5+css3用户登陆动态弹窗 |
也可以一次添加多个文件,用空格隔开:
1
|
git
add README1.md README2.md README3.md |
4.将文件存入本地仓库,同时添加改动或者说是更新说明:
1
|
git
commit - m '添加或改动的说明' |
5.使用以下命令查看内容变更
1
|
git
status |
6.查看git版本库的修改/更新次数(使用q退出这个命令)
1
|
git
log |
查看每次修改信息(显示在同一行)
1
|
git
log --pretty=oneline |
选定查看最近2次的版本更新信息:
1
|
git
log -n 2 |
7.reset实现版本回退:
1
|
git
reset --hard head^ |
注意:HEAD表示当前版本(就是一个指针),在后面加一个^,表示(指向)上一个版本,前第N个版本是HEAD~N,
回退以后恢复之前最新的版本或者是某次特定的版本,查找操作代码库的关键步骤历史记录的ID实现:
1
|
git
reflog |
根据ID,比如是441736f,前进到回退前的某个版本
1
|
git
reset --hard 441736f |
8.commit之后又对项目中的某个文件内容进行了更新,利用以下命令回到离commit最近的状态(丢弃掉没有进行add操作的更改内容,回到上次commit操作时的状态)
1
|
git
checkout -- 文件名 |
本质是利用本地版本库中的相同文件替换了本地文件夹中的文件,所以看起来是回到之前commit操作时的状态了(但是如果更改已经add了,除非放弃add操作内容,否则下次commit又会更新本地仓库)
,撤销已经add到暂存区但没有commit到本地分支的文件
1
|
it
reset head 文件名 |
以上过程中可以使用以下命令查看具体文件的内容
1
|
cat
文件名 |
9.删除本地版本库中的文件
首先说一下一种特殊情况:本地的文件夹中的项目相关文件被删除了,但没有更新本地的版本库,如果这时想恢复被删除的项目相关文件,可以利用以下命令:
1
|
git
checkout -- 文件名 |
第二种情况是真的想删除本地仓库中的相关文件,利用以下代码删除本地文件夹中的文件(也可以手动删除)
1
|
rm
文件名 |
然后利用以下代码删除本地仓库中的文件
1
|
git
rm 文件名 |
并且利用git commit进行保存
1
|
git
commit -m "remove
文件名" |
10.新建分支,可以利用
1
2
|
git
branch 分支名 git
checkout 分支名 |
1
|
git
checkout -b 分支名 |
查看本地分支,远程分支和所有分支,当前指向分支前会加*号
1
|
git
branch<br>git branch -r<br>git branch -a |
删除已经存在的指定本地分支,远程分支(注意要先将指针指向其他分支才能删除此分支)
1
2
|
git
branch -d 分支名 git
push origin :分支名 |
重命名分支
1
|
git
branch -m 原分支名 新分支名 |
11.切换分支
1
|
git
checkout master |
12.将新建立的分支合并到主分支(切换回主分支操作)
1
|
git
merge 新分支 |
合并后,就可以利用上面给出的方法删除新分支
14.保留新建的分支,并推送到远程仓库:
1
|
git
push origin 新建的分支 |
15.给项目进度添加版本号,通过添加标签的方式实现
1
|
git
tag 版本号 |
通过省略版本号可以直接查看已经添加的版本号
1
|
git
tag |
给以前的某次提交补加版本号,只要查找到之前commit操作对应的ID,比如:441736f
1
|
git
tag 版本号 441736f |
在添加标签时添加说明:
1
|
git
tag -a 版本号 -m "版本说明" |
查看指定版本内容
1
|
git
show 版本号 |
删除不想要的标签
1
|
git
tag -d 已经存在的标签(版本号) |
将本地标签推送到远程仓库
1
|
git
push 远程主机名(比如origin) 版本号 |
1
|
git
push origin v1. 0 |
将本地所有的版本号都推送到远程仓库
1
|
git
push origin --tags |
删除远程仓库的版本号,需要两步
1). 先删除本地版本号(标签)
2).再删除远程版本号
1
|
git
push origin :refs/tags/版本号 |
1.要想将本地仓库同步到Github上,需要建立本地和Github上使用的SSH私钥和公钥,在git的bash.exe中输入
1
|
ssh-keygen
-t rsa -C "963061645@qq.com" |
2.在电脑上生成公钥和私钥,将公钥上传到github上
3.测试是否连接成功
1
|
ssh
-T git@github.com |
4.在Github上建立一个你想和本地仓库进行同名的仓库(名字相同)
5.利用上面的cd...指向本地仓库的位置,然后关联到Github的远程仓库:
1
|
git
remote add origin git@github.com:Amyidol/Amyidol.github.com.git |
6.关联好之后,把本地仓库中的内容推送到Github上的远程仓库
在首次进行推送的时候,需要:
1
|
git
push -u origin master |
加 -u 是用来将本地master和远程master进行关联的,以后再次推送就不需要再加了,origin是远程主机的名字,以下代码来查看
1
|
git
remote |
或者是
1
|
git
remote -v |
这个主机名字是可以人为指定的。
首次推送之后,下次再向远程仓库master分支推送项目时,只需要
1
|
git
push origin master |
7.上面提到可以人为指定远程主机的名字,在将远程仓库克隆到本地的时候,可以实现
1
|
git
clone -o 新主机名 https: //github.com/amyidol/amyidol.git/ |
如果使用默认的主机名并且克隆到本地指定的位置,可以利用
1
|
git
clone https: //github.com/amyidol/amyidol.git/
本地地址 |
最好是直接利用SSH协议进行clone,如下
1
2
|
git
clone 仓库的SSH地址 本地建立的空文件夹地址 git
clone git@github.com:amyidol/test.git e:/github_projects/xx |
就将远程仓库的test克隆到了本地的xx文件夹中。
1
2
|
$
git config --global user.name "Your
Name" $
git config --global user.email "email@example.com" |