一、git安装
基础配置:
1、自报家门
因为git是分布式版本控制系统,所以在安装后必须自报家门:名字和Email。
git config 参数 user.name "你的用户名"
git config 参数 user.email "你的邮箱"
参数:--global,表示你这台机器上所有git仓库都会使用这个配置;
--local,只能在本环境下使用;
2、初始化空项目
如果你看到了一个新的隐藏文件夹 .git,那么你的仓库已经成功创建。这个文件夹将会包含你仓库中所有更改的记录。如果你删除了它,你将不再能够在你的仓库中恢复任何文件之前的版本,并将丢失仓库中所有的提交消息,而文件当前的状态也将不可变。
3、添加忽略文件(.gitignore)
完成下面几步来自定义特定仓库中应该被忽略的文件:
(1) 在项目根目录创建一个名为 .gitignore 的文件。
(2) 每行一个文件名,写上所有你一定不希望 Git 添加到仓库中的文件。
(3) 使用 add 和 commit 命令将 .gitignore 文件添加到你的仓库。
二、git命令
1) 版本回退(穿梭): git reset --hard 提交id
穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本;
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本;
2) 丢弃修改:
A、文件没有提交到暂存区
使用 git checkout -- 文件名 丢弃工作区的修改(注意区分切换分支的命令git checkout 分支)
B、文件提交到暂存区,但没有提交到版本库
如果想要丢弃修改,需要执行以下步骤:
1、使用 git reset HEAD 文件名 把暂存区的修改撤销掉,重新放回工作区;
2、使用 git checkout -- 文件名 丢弃工作区的修改;
C、文件提交到版本库
使用 git reset --hard 提交id 回退到指定版本,从而丢弃修改
3)本地版本库与远程仓库:
关联远程仓库:git remote add origin git@server-name:path/repo-name.git
关联后,使用 git push -u origin master 推送master分支的内容到远程仓库
问:为什么使用 -u 参数?
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送到远程新的master
分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
4)分支:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
5)bug分支:
当手头工作没有完成时,先把工作现场暂存起来(git stash) ,然后去修复bug,修复后,再恢复现场(git stash pop)
6)多人协作:
多人协作的工作模式通常是这样:
1.首先,可以试图用 git push origin 分支名称 推送自己的修改;
2.如果推送失败,则因为远程分支比你的本地更新,需要先用 git pull 试图合并;
3.如果合并有冲突,则解决冲突,并在本地提交;
4.没有冲突或者解决掉冲突后,再用 git push origin branch-name 推送就能成功!
如果 git pull 提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令 git branch --set-
upstream branch-name origin/branch-name