git使用大全,强大的项目管理工具

来源:互联网 发布:周鸿祎谈网络战争 编辑:程序博客网 时间:2024/05/17 20:30

git的优缺点:

优点:1、GIT拥有全世界的资源,大部分优秀的开源项目都是放在github上,这一点足以说明了一切;

     2、功能上,GIT拥有svn所有的功能,提交,保存,更新,合并等等。不同的是,GIT有两个仓库,一个是代码的远程仓库(服务器),一个是电脑的本地仓库,这和maven有点类似,所有的提交和更新都需要通过这两个仓库,更安全。支持离线提交,不受网络影响

    3、GIT不仅有基本的控制,还有分支,派生,等等高级功能,适合大团队,高要求的项目协作。

       缺点:命令比较多,使用比较麻烦,再就是小团队,效率反而没有svn快(两个仓库的原因),简单比如,svn是瑞士军刀,短平快,git是牛刀,稳但重

二、如何使用(如何安装略)

分两种

第一、开发工具Eclispe等

1、从github获取项目

Import -> Git -> Projects from Git ->Clone URI填写github上的项目https网址即可。

2、提交github

  右键项目 team - > Commit ->  Commit and PustCommit 到本地仓库,又Push到远程github

3、单个文件回滚(本地)

右键文件 team -> Show Local History  在右侧Revison Time栏里 选择欲回滚版本  ->右键  get Contents

4、整体项目回滚(本地)

右键项目 team - > Show in History  在右侧History栏里,选择欲回滚版本 右键 -> Reset -> Hard模式即可。另外两个没试验过。

5、回滚后,想恢复原高版本(本地)

右键项目 team -> pull拉至原最新版本,在History中所有操作的版本又都出来了。

6、建立分支 合并

建立:右键项目 team -> Switch to ->New Branch建立一个新的分支。新的分支可以进行添加 修改等操作。然后 Commit到本地,并pushgithub

合并: swith to master,然后Merge -> Local下面的分支,然后ok。这样就在本地合并了。Push Branch Master可以pushgithub


命令行Git的使用

基本概念

fetch

将代码从远程仓库拿到本地仓库

pull

将代码从远程仓库拿到本地工作空间

commit

从本地工作空间提交到本地仓库

push

将代码从本地仓库提交到远程仓库

具体命令( xxx是仓库地址

第一次需要做的

1.将远程仓库项目导入本地仓库

git clone xxx

2.将用户名添加进去

git remote add username -pwd xxx

以后的步骤

提交步骤


1.git fetch (用git pull就可以省略)

2.gitpull

其实,pullfetch的工作都做了。fetch把代码从远程仓库拿到本地仓库。pull直接把代码拿到本地仓库接着拿到工作空间

(如:Eclipse中),这样做,主要是为了是避免直接pull冲突太多,不好解决。

   2.1如果pull这步发生冲突

   通过Synchronize Workspace比较工作空间中的代码和本地仓库中的代码有什么不一样,手动合并修改,

   保存,然后先把刚才发生冲突的文件commit,之后再次pull

3.如果pull没问题,这时再commit剩余的文件。(先git add 在git commit

4.最后进行push


常用命令:git status 查看被修改的文件

git checkout -- <filename>
撤销当前工作区的修改到最近一次执行命令git add or git commit的时候,即若修改之前没有执行git add就回退到最近提交(git commit)的时候,如果之前执行git add则会回退到最新提交到暂存区的版本。
注意:git checkout 如果没有后面没有“--”,就是切换分支的命令。
git checkout -b <branchname>:新建分支branchname,并切换至改分支。
git reset --hard <版本号>
设置到指定版本
git log --pretty=oneline
查看历史版本
git reflog
显示版本变动的命令
查看分支:git branch 
创建分支:git branch <name> 
切换分支:git checkout <name> 
创建+切换分支:git checkout -b <name> 
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
git log --graph命令可以看到分支合并图


合并分支不使用fast forward:git merge --no-ff -m "merge with no-ff" dev


git stash:保存现场
git stash list: 查看保存文件
git stash apply:恢复现场,但不删除保存的内容
git stash pop: 恢复现场并删除stash内容




git push origin branch-name:?从本地推送分支
git checkout -b branch-name origin/branch-name:?在本地创建和远程分支对应的分支
git branch --set-upstream branch-name origin/branch-name:?建立本地分支和远程分支的关联




Git学习网站 : http://www.atlassian.com/git/

http://www.open-open.com/lib/view/open1328069733264.html

http://www.open-open.com/lib/view/open1328069889514.html

http://www.ruanyifeng.com/blog/2012/07/git.html

原创粉丝点击