一、在Windows上安装Git
- 在Windows上使用Git,可以从Git官网直接下载安装程序,(网速慢的同学请移步国内镜像),然后按默认选项安装即可。
- 安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
- 安装完成后,还需要最后一步设置,在命令行输入:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
二、把本地项目传到GitHub上
1.cd 到上传项目的根目录下,然后初始化本地仓库 $ git init
2.添加当前工作目录文件到index,添加管理, $ git add .(记得有个点哦,并且和add之间有空格)
3.查看一下当前目录所有没有被git管理的文件以及被git管理并且被修改但是还没有提交的文件,
git status (若出现了很多红色文件,那么就需要再次进行2的步骤,git add .直到没有问题。)
4.提交文件,把本地仓库暂存区的文件提交到本地仓库。
git commit -m “message” 其中message就是你提交文件时候的备注。以便知道本次提交是什么作用……
三、时光机穿梭
- git log命令显示从最近到最远的提交日志
- $ git reset –hard HEAD^ (首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交1094adb…(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。)
- $ git reset –hard 1094a (回到之前版本,1094a是之前的版号,不一定要写全)
- $ git reflog (Git提供了一个命令git reflog用来记录你的每一次命令)
- $ git reset HEAD readme.txt (Git同样告诉我们,用命令git reset HEAD 可以把暂存区的修改撤销掉(unstage),重新放回工作区:)
- gitrmtest.txt(删除文件)+需要提交 g i t r m t e s t . t x t ( 删 除 文 件 ) + 需 要 提 交 git commit -m “remove test.txt”
四、远程仓库
一、添加远程库
1. 首先,登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库:
2. 在Repository name填入自己的文件名,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库:(注意:不用自动创建readme.md文件)
3. git remote add origin git@github.com:michaelliao/learngit.git
4. $ git push -u origin master
5. 此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
二、从远程库克隆
- $ git clone git@github.com:michaelliao/gitskills.git
五、分支管理
创建与合并
1.1. gitcheckout−bdev(相当于 g i t c h e c k o u t − b d e v ( 相 当 于 git branch dev $ git checkout dev)1.2 ( gitaddreadme.txt)and( g i t a d d r e a d m e . t x t ) a n d ( git commit -m “branch test”)
1.3 $ git checkout master
1.4 $ git merge dev
1.5 $ git branch -d dev
- 分支管理策略
3.11 Feature分支
>1、 $ git checkout -b feature-vulcan ;
>2、$ git add vulcan.py;
> 3、$ git commit -m "add feature vulcan"
> 4、$ git checkout dev
> 5、$ git branch -D feature-vulcan(销毁失败。Git友情提醒,feature-vulcan分支还没有被合并,如果删除,将丢失掉修改,如果要强行删除,需要使用大写的-D参数。。现在我们强行删除:)
六、 多人协作
- $ git remote
- $ git remote -v
- 推送分支 :推送分支,就是把该分支上的所有本地提交推送到远程库。推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上: git push origin master , 如果要推送其他分支,比如dev,就改成:$ git push origin dev
- 抓取分支 :现在,你的小伙伴要在dev分支上开发,就必须创建远程origin的dev分支到本地,于是他用这个命令创建本地dev分支:$ git checkout -b dev origin/dev
- ( git commit -m “add env”)
- $ git push origin dev
- 如果推送失败:比如(error: failed to push some refs to ‘git@github.com:michaelliao/learngit.git’),推送失败,因为你的小伙伴的最新提交和你试图推送的提交有冲突,解决办法也很简单,Git已经提示我们,先用git pull把最新的提交从origin/dev抓下来,然后,在本地合并,解决冲突,再推送:
- $ git pull 如果失败,原因是没有指定本地dev分支与远程origin/dev分支的链接,根据提示,设置dev和origin/dev的链接::(git branch –set-upstream-to=origin/ dev) git branch –set-upstream-to=origin/dev dev,再次 git pull
- git pull 成功后,先解决合并冲突,再提交 gitcommit−m"fixenvconflict", g i t c o m m i t − m " f i x e n v c o n f l i c t " , git push origin dev
七 、删除本地git的远程分支和远程删除git服务器的分支
1.列出本地分支:
git branch
2.删除本地分支:
git branch -D BranchName
其中-D也可以是–delete,如:
git branch –delete BranchName
3.删除本地的远程分支:
git branch -r -D origin/BranchName
4.远程删除git服务器上的分支:
git push origin -d BranchName
其中-d也可以是–delete,如:
git push origin –delete BranchName