转载地址:http://www.cnblogs.com/hustskyking/p/git-improve.html
一、基本操作
1. 1克隆代码
添加仓库(方式1)
cd dir # 这里不用新建一个项目名的文件夹,dir为git文件夹的父文件夹
git clone https://github.com/barretlee/Micro-Share
添加仓库(方式2)
cd path/to/Project
git init
添加远程目录
git remote add origin https://github.com/barretlee/Micro-Share
1.2、添加文件
git add .
如果有文件删除
#方式一
git add --all .
#方式二
git add -A .
–all 参数,顾名思义,添加所有文件(change|delete|add)
-A 参数,添加修改过和删除过的文件(change|delete)
不加 参数,添加修改过和添加的文件(change|add)
1.3 提交文件
git commit -m “comment”
如果没有删除过文件,可以合并添加和提交文件为一步:
git commit -am “add and commit”
1.4 远程提交
提交到远程仓库上:
将 master 提交到 origin 上
git push origin master
a) origin为一个多人开发的库,别人在你提交之前已经向 origin 上提交过一次(或者多次),那么此时你的版本是落后于远程服务器版本的,你需要先拉去线上最新的代码:
#拉去远程分支到 master
git pull origin master
b) 执行 a) 之后,有可能也会有提醒:存在冲突,需要合并分支,这个在后面会提到
c) 如果你很自信,觉得线上的版本是存在问题,你这个版本木有问题,你可以强制提交你的代码
git push -u origin master -f
这里需要特别注意,加了 -f 线上之前的修改就会被删掉,请谨慎使用!
2. git使用场景
代码敲了一半,Boss 说,线上出了个 bug,赶紧的,去修复!
咋办?上面那堆代码,敲了半个上午啊,重新新建一个文件夹,然后把线上代码再克隆一次修改?这种处理的成本显然太高了!其实 git 为我们提供了很好用的命令 git stash。只要在当前目录下操作:
git stash
这句命令执行完毕之后,git 管理区中的 stash 会多出一条记录,这条记录保存了上一次提交到目前,你所有的修改:
last commit … working file now
接着你就可以修改你的 bug 了,修改完了之后,再使用
git stash pop
将之前保存的修改(场景)还原回来。
IDEA 中git的分支管理和使用说明
idea git分支的操作
idea git的操作在右下角,如下图:
说明:
【new branch】新建分支
【local branches】本地分支
【current master】表示当前是主分支
【remote branches】远程仓库分支。我在这里配置了两个远程仓库,所以这里显示2个。
创建分支
点击【new branch】,弹出窗口,如下图:
输入分支名称点【OK】,然后默认切换到该分支。
2.3 切换分支
如果要切换回master主分支,操作如下图:
点击【checkout】
在新建立的分支上修改代码
切换到之前新创建的分支,修改代码。
提交分支到本地库
一般情况下只需要将分支提交到本地仓库,不需要将分支提交远程仓库。如果将所有的分支都提交到远程仓库,会让远程仓库杂乱无章。
确保在新建分支下,操作如下图:
弹出新窗口,如下图:
选择要提交的文件,写上提交注释,然后点击【commit】
commit表示提交代码到本地库
弹出警告窗口如下图:
点击【commit and push】,提交本地库成功!
提交到远程仓库
点击【push】
提交成功后右下角弹出信息:
git上fork一个项目的使用
Fork是一个复制的操作,当你Fork一个项目之后,你就有了在原项目的基础之上进行修改和扩展的权限
当你Fork一个项目之后,你的项目与原项目之间就不存在联系了,当原项目有更新的时候,你自己Fork的项目也不会同步保持更新。为了保持与原项目的一致,你需要使用到Git的命令行。
第一步 安装git客户端
如果你没有安装git的客户端,你需要先去下载git的客户端并安装,windows系统git下载安装地址:http://git-scm.com/download/
第二步 clone你fork的项目
fork一个项目, 官方示例:https://github.com/octocat/Spoon-Knife;
使用git命令行clone项目:git clone git@github:[yourname]/Spoon-knife
第三步 添加新的远程仓库地址
当你clone完一个项目,可以使用git remote -v来查看你fork的远程仓库的地址;默认的clone操作完成后,远端仓库的地址别名为:origin,为了需要与原项目保持更新,你还需要将原项目地址给添加进来,使用命令:
git remote add upstream 原始项目仓库的git地址
第四步 同步更新
假设你已经完成了前三步,当原项目有更新的时候,怎么将更新检入到本地呐,主要是以下几个步骤:
打开git命令行工具;
进入项目本地路径;
执行git fetch upstream命令,检出upstream分支以及各自的更新;
切换到你的本地分支主干:git checkout master;
合并upsteram/master分支和master分支,将原项目中的更改更新到本地分支,这样就能使你的本地的fork分支与原项目保持同步,命令:git merge upstream/master;
执行git push将本地分支的修改推送到远端fork的项目;
总结
1、先在页面fork一个你自己的项目(在页面点击操作就行)
2、打开git bash here窗口,git clone 你fork的项目
3、添加你的fork项目的master项目(upstream)
git remote -v //查看
git remote add upstream https://你的master地址
4打开你的idea选择打开项目就可以使用fork的项目了
5、写完代码提交时 ,直接commit dir 和push就会到你的fork上
6、在你的fork页面上选中merge request 选中你的项目提交OK
idea操作
然后pull的时候,选择原分支地址
选择版本号
更新