eclipse Git配置
Git
1:选择git
2:下载对应版本
安装
Git常用命令:
显示信息类命令
git ls-files -u 显示冲突的文件,-s是显示标记为冲突已解决的文件
git diff 对比工作区和stage文件的差异
git diff --cached 对比stage和branch之间的差异
git branch 列出当前repository下的所有branch
git branch --a 列出local 和remote下的所有branch
git ls-files --stage 检查保存在stage的文件
git log 显示到HEAD所指向的commit为止的所有commit记录 。使用reset HEAD~n 命令使HEAD指针向前移动,会导致HEAD之后的commit记录不会被显示。
git log -g则会查询reflog去查看最近做了哪些动作,这样可以配合git branch 恢复之前因为移动HEAD指针所丢弃的commit对象。如果reflog丢失则可以通过git fsck --full来查看没被引用的commit对象。
git log -p -2 对比最新两次的commit对象
log -1 HEAD
git log --pretty=oneline
git log --stat 1a410e 查看sha1为1a410e的commit对象的记录
git blame -L 12,22 sth.cs 如果你发现自己代码中 的一个方法存在缺陷,你可以用git blame来标注文件,查看那个方法的每一行分别是由谁 在哪一天修改的。下面这个例子使用了-L选项来限制输出范围在第12至22行
创建类命令
git brach branchName 创建名为branchName分支
git checkout
branchName 切换到branchName分支
git checkout -b 创建并切换,也就是上面两个命令的合并
git brach branchName ef71 从commit ef71创建名为branchName的branch
撤销类命令
如果是单个文件
1.use "git reset HEAD <file>..." to unstage
如果已经用add 命令把文件加入stage了,就先需要从stage中撤销
然后再从工作区撤销
2.use "git checkout -- <file>..." to discard changes in working
directory
git checkout a.txt 撤销a.txt的变动(工作区上的文件)
如果是多个文件
git chenkout .
如果已经commit 了,则需要
git commit --amend 来修改,这个只能修改最近上一次的,也就是用一个新的提交来覆盖上一次的提交。因此如果push以后再做这个动作就会有危险
$ git reset --hard HEAD 放弃工作区和index的改动,HEAD指针仍然指向当前的commit.(参照第一幅图)
这条命令同时还可以用来撤销还没commit的merge,其实原理就是放弃index和工作区的改动,因为没commit的改动只存在于index和工作区中。
git reset --hard HEAD^ 用来撤销已经commit的内容(等价于 git reset --hard HEAD~1) 。原理就是放弃工作区和index的改动,同时HEAD指针指向前一个commit对象。
git revert 也是撤销命令,区别在于reset是指向原地或者向前移动指针,git revert是创建一个commit来覆盖当前的commit,指针向后移动
提交类命令
git add +文件名 跟踪新文件或者已有文件的改动,或者用来解决冲突
git commit +文件名 把文件从stage提交到branch
git commit -a 把修改的文件先提交到stage,然后再从stash提交到branch
删除类命令
git rm --cached readme.txt 只从stage中删除,保留物理文件
git rm readme.txt 不但从stage中删除,同时删除物理文件
git mv a.txt b.txt 把a.txt改名为b.txt
Merge类命令
在冲突状态下,需要解决冲突的文件会从index打回到工作区。
1.用工具或者手工解决冲突
2.git add 命令来表明冲突已经解决。
3.再次commit 已解决冲突的文件。
$ git reset --hard ORIG_HEAD 用来撤销已经commit 的merge.
$ git reset --hard HEAD 用来撤销还没commit 的merge,其实原理就是放弃index和工作区的改动。
git reset --merge ORIG_HEAD,注意其中的--hard 换成了 --merge,这样就可以避免在回滚时清除working tree。
git help 帮助命令
eclipse中git(推送到网络服务器)
1:新建项目
2:右键项目Teamàshare project
3:选择git
4:选择为git项目
5:第一次观察状态
修改后没提交,或者刚创建现在>
6:右键项目Teamàcommit(写完项目后)
提交到本地仓库
7:第二次观察状态
有个油瓶说明提交到本地仓库
8:右键项目Teamàremoteàpush(推到网络仓库)
1:登入github或者码云
2:创建个新的项目
3:复制秘钥
输入相关信息:
9:选择推送进入的分支
输入完上面两个后,单击add,下一步,在finish。
10:推送中(完成)
完成刷新页面查看:
Eclipse获取网络git任务
1:选择git视图
2:选择clone 或者
3:复制网络秘钥
在表格中复制秘钥,填写信息。
4:选择需要复制下来的分支项目
5:更改到当前工作空间并给个仓库名
6:出现以下视图完成
7:切换到java视图,导入项目
右键工作栏,importàgit
8:选择油管
9:完成
Eclipse修改提交到网络仓库
1:右键项目Teamàcommit
2:右键项目Teamàremoteàpush(推到网络仓库)
就可以
获取网络他人修改
1:右键项目Teamàpull
如果出错:就更改
点击open添加属性:
[branch "master"]
remote = origin
merge = refs/heads/master
[remote "origin"]
url = https://git.oschina.net/maofa/test.git
fetch = +refs/heads/*:refs/remotes/origin/*
push = refs/heads/master:refs/heads/master
更改冲突
1:右键项目Teamàsynchronize 添加到同步视图
2:出现红图标证明修改冲突
先拉下来更新pull
3:手动解决冲突
4:右键项目 teamàadd to index 出现*
5:右键项目Teamàcommit
6:右键项目Teamàremoteàpush
完成:
出现问题:防火墙问题:http:ssIVerify=false
Git 快速配置:
Ssh:
1:生成ssh钥匙
ssh-keygen -t rsa -C "youremail@example.com"
可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件
在gitHub或者任何托管代码平台上添加钥匙:
2:git clone https://github.com/master-dev.git克隆远程分支
进入克隆目录就可以实现代码的上传推送
第一次创建目录:
git init
git remote add origin http://192.168.0.240/root/bagtree.git
git add .
git commit
git push –u origin master