1. git help -a
git help 具体命令获得详细的帮助文档。
获取git的帮助命令
2.git init
初始化一个git仓库,会在当前目录下生成一个.git文件。
3.git status
查看仓库状态
4.git add
将文件添加到暂存区
5.git commit
git commit -m "注释"将git add后的文件提交
git commit -a 会把所有的
6.git diff file
不加任何参数的,file为文件路径,可选
git diff file(文件路径):
表示查看的是当前文件和暂存区的文件快照之间的差异。
git diff – cache file
比较的是暂存区和上次提交的文件快照之间的差异。
git diff head file
比较的当前文件的所有改动(包括暂存区)和上次提交的文件快照的差异。
7.git log
由近到远显示提交记录
如果嫌数据显示较多可使用
git log --pretty=oneline
每行前面的数字加字母的字符串是版本号,是一个SHA1计算的数字用十六进制表示,这是为了防止在git分布式开发中产生冲突,版本号可以用来回退到某个特定的版本。
8.git reset
可用来回退代码版本,在使用此命令之前我们必须了解几个概念。
head
指向当前版本顶端最近提交的指针
Index
index 也被称做staging area区,它是指向暂存区的指针
Working Directory
代表你当前操作的文件集合
git reset head – filename可以将不小心添加到暂存区的操作,撤销。
git reset --soft 版本号
只会改变head指针的指向,不会修改index和working Directory内容
git reset --mixed 版本号
是reset的默认参数,会将head区和index区匹配,而不会修改working Directory的内容
git reset --hard 版本号
会将head,和index,working Directory三个同步,当前修改的数据会消失,如果想找回当前数据只能考
回退分支后需要推送至远程仓库
git push -f origin 分支名
9.git reflog
git reflog 用来记录head引用变化,可用于找回之前的版本
git reflog show 分支名
查看某个分支的某次提交的commit id 利用reset命令回退至指定的版本即可
git 回退单个文件至指定版本
https://blog.csdn.net/b_h_l/article/details/17266849
10.git checkout
11.分支管理
git checkout – file 命令中的“–”很重要,没有“–”,就变成了“创建⼀一个新分⽀支”的命
令
git checkout -b (branchname)
可用做创建和切换分支
这个命令相当于下面2条命令
git branch branchname
git checkout branchname
本地新建的分支,指定关联的远程分支,这样不必每次push或者pull都要指定分支名了。
git branch --set-upstream-to=origin/branchname branchname
git创建和切换分支相对与svn和cvs来说是非常迅速的,因为仅仅是改变head指针的指向新的分支地址。
11.1 创建并切换分支
例如:
git checkout -b dev
我们在dev中修改文件后,切换回master分支
git checkout master
11.2合并分支
快速合并
git merge branchname
将dev上的改动合并到master上,由于这版本没有冲突,所以git采取的
fast-forward(快速合并),在没有冲突的情况下,直接将master的指针指向dev所在的指针。
手动解决冲突
我们查看git status
告诉我们解决冲突,再使用git add
11.3.删除本地分支和远程分支
git branch -d 分支名
git push origin --delete 分支名
11.4.可用作替换工作区的改动
git check – filename
2中情况
1.是文件⾃自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一样的状态。
2.是文件已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
12. git rm
删除文件
13.git remote
我们可以将本地仓库的内容推送到远程仓库去,也可以将远程仓库克隆下来。
首先需要安装ssh。安装完后
例如我在github上新建了一个仓库,我将本地仓库与远程仓库关联起来。
origin是远程仓库的别名。
1.添加远程仓库地址
git remote add origin git@github.com:haozhi-ly/spring-cloud-example.git
2.获取远程仓库地址
git remote -v
14.git push
git push 【alias】【branch】
将本地仓库的代码推送到远程仓库
本地新建分支推送第一次推送至远程仓库
git push -u origin master
如果是从远程跟踪分支检出的本地分支可以直接使用
git push origin master 或 git push
git push 缺省了远程主机名和分支名,自2.0版本以后git push 默认采取simple策略
- nothing: 不推送任何东西并有错误提示,除非明确指定分支引用规格。强制使用分支引用规格来避免可能潜在的错误。
- current: 推送当前分支到接收端名字相同的分支。
- upstream: 推送当前分支到上游@{upstream}。这个模式只适用于推送到与拉取数据相同的仓库,比如中央工作仓库流
程模式。 - simple: 在中央仓库工作流程模式下,拒绝推送到上游与本地分支名字不同的分支。也就是只有本地分支名和上游分支名字一致才可以推送,
就算是推送到不是拉取数据的远程仓库,只要名字相同也是可以的。在GIT 2.0中,simple将会是push.default的默认值。
simple只会推送本地当前分支。 - matching: 推送本地仓库和远程仓库所有名字相同的分支。
15.git pull
从另一个存储库或本地分支关联的远程分支获取最新代码,并与本地代码合并相当于git fetch 和git merge的合用。
使用eclipse获取github项目
1.获取项目git的路径
2.克隆仓库
3.导入刚取下来的项目
4.更新代码
使用pull更新代码
5.提交代码
更改过的文件在左边会出现一个大于符号,
6 创建分支并推送到远程仓库
填写分支姓名
在分支上开发完后选择提交
7. 切换分支
点击switch可完成分支的切换
选择当前你要合并的分支版本。
可能会存在冲突,需要我们手动解决冲突。
解决完后将文件提交至暂存区即可,