(转自)https://www.akii.org/git-concise-operating-tutorial.html

git工作原理:

分布式,每个克隆或更新远程仓库的用户都拥有⼀一份最新的完整的仓库。
分支结构,不要直接操作remote的远程分支,应该首先checkout⼀一份到本地分支。远程分 支是指与远程仓库上同步的分支。而你所有的操作应该是在你的本地分支上操作。
时刻记得你在那个分支下工作,因为你切换到任何分支都不会改变本地目录
“origin”代表远程仓库,为默认的远程仓库别名
git的分支仅仅是⼀一个提交的标记,而不是目录,与svn的目录式分支结构不同
仓库的意义是整个代码仓库,本地分支/远程分支,都是你本地仓库中的分支
git常用操作命令及解释

注:以下所有以$开头的,为命令行操作,$之后的是命令, #号之后是注释

1.克隆一个仓库

$ git clone git@youdomain.com:project.git #相当于svn checkout
然后进入仓库目录,运行如下命令来忽略git对于文件权限的检查

$ git config core.filemode false
然后设置你的帐户和邮箱

$ git config user.name = "Terry"
$ git config user.email = "terry@youdomain.com"
2.抽取⼀一个分支以及切换到⼀一个分支(切记,要得到⼀一个分支,应该先抽取它,把它抽取到 本地,生成⼀一个本地分支)
命令格式 git checkout 本地分支名 origin/远程分支名,通常,本地分支名和远程分支名⼀一 样,当然,也可以不⼀一样。

$ git checkout release/0.2 origin/release/0.2
$ git checkout master origin/master
$ git checkout master #切换分支也是使用checkout,只不过不再输入远程分支信息
3.查看分支,注意,*号在那个分支名前面,就说明你目前处在那个分支下。
查看本地分支:

$ git branch
查看所有分支,包括你仓库中的远程分支:

$ git branch -a
更新你本地仓库的所有分支和远程仓库的分支保持⼀一致,主要是 删掉本地仓库中与远程仓库相比较,已经不存在的分支:

$ git remote prune origin
4.本地仓库分支的创建和删除

$ git branch 分支名 #创建⼀一个本地分支
$ git branch -d 分支名 #删除⼀一个本地分支,参数 -D 强制删除,删除前要先切换到其它分支

---------------------------------------
本地仓库分支还可以这样来创建(这样是创建和切换整合到一起了)
$ git checkout -b 分支名 #创建⼀一个本地分支

5.更新仓库但不将修改合并分支的修改

$ git fetch
6.更新仓库且将修改合并到本地分支,这个最常用,相当于svn up

$ git pull
7.查看状态,是否有提交,删除,更新等信息,如果看到大批文件权限有更新,请使用“git config core.filemode false” 来忽略权限检查

$ git status
8.提交,注意:提交仅仅是将你的修改提交到你本地的仓库,而非远程

$ git commit -m “提交注释”
如果之前未使用 git add 将修改的文件加入暂存区,可再加⼀一个参数 -a 来将所有未暂存的修 改提交

9.推送到远程仓库,只有将你的修改或分支推送到远程仓库,其它人才能从该远程仓库获取

$ git push origin #推送当前分支到远程仓库,前提是远程仓库有这个分支
命令格式 git push origin 本地分支名:远程分支名,本地和远程分支名可以不⼀一样,远程分支 名是推送到远程仓库的分支名

10.删除远程仓库中的分支

$ git push origin :远程分支名
工作流程

生成你的公钥和私钥,将公钥发给git仓库管理员
克隆一个仓库
检出一个远程分支到本地分支
在本地分支上进行开发工作并提交
将你的提交推送到远程仓库
要经常更新你的本地分支 git pull
对于开发人员,不要在develop分支上直接开发,创建feature分支并publish协同开发。
对于开发人员,要经常合并常规开发分支develop到你的feature分支上,以降低冲突的积累。
第7、8条参照git-flow分支模型来规划。

git常用命令<转>的更多相关文章

  1. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  2. Git 常用命令详解

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...

  3. Git 常用命令大全

    Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v 添加 ...

  4. Git常用命令总结

    Git常用命令总结 git init      在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹.   git clone ...

  5. GIT常用命令备忘

    Git配置 git config --global user.name "storm" git config --global user.email "stormzhan ...

  6. Git 常用命令2

    Git 常用命令 Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ gi ...

  7. git常用命令-基本操作

    git常用命令-基本操作 1)      新增文件 新增了Test_1.java git add Test_1.java git commit –m “新增了Test_1.java” git push ...

  8. 转收藏:Git常用命令速查表

    一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r ...

  9. git常用命令,git版本控制和Xcode结合使用,用Xcode提交到github,github客户端使用

    1.git常用命令 查看命令: 1.git --help 查看git所有命令 2.git clone -help 查看git clone命令的细节 3.git config -l   查看当前所有配置 ...

  10. Git 常用命令详解(二)

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...

随机推荐

  1. JFrome 登陆/注册/回显无数据库连接小程序

    当离开RCP插件区重新回顾一下JFrame窗口程序的标签.页面间的跳转. 完成一个登陆.注册界面.(界面完成后练习输入输出流,将前台的注册信息保存到一个文件夹下的.txt文件中) 首先向通过JFram ...

  2. maven在mac上的入门使用

    首先博主也是在入门学习,在学习maven时遇到了不少问题.查资料时发现网上maven的使用大多是win的,所以我打算写点maven在mac入门使用的笔记,希望可以帮助到跟我一样有困难的你们. 1.ht ...

  3. TCP/IP-UDP

    We read the world wrong but say that it deceives us. "我们看错了世界,却说世界欺骗了我们" 参考资料:TCP/IP入门经典 ( ...

  4. 转型函数 Boolean()

    布尔值有2种可能的值true和false;但 ECMAScript中所有类型的值都有与这两个 Boolean 值 等价的值.要将一个值转换为其对应的 Boolean 值,可以调用转型函数 Boolea ...

  5. php处理中文字符串

    使用mbstring 先转换成UTF-8编码 mb_convert_encoding(Input::get('tags'),'UTF-8') mbstring用法参考http://php.net/ma ...

  6. D题(贪心)

    D - D Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u     Descripti ...

  7. cf D. Vessels

    http://codeforces.com/contest/371/problem/D 第一遍写的超时了,然后看了别人的代码,思路都是找一个点的根,在往里面加水的时候碗中的水满的时候建立联系.查询的时 ...

  8. Windows 7 mklink命令详解

    mklink是Windows 7下的一个类似于linux下In的命令,其作用是在NTFS文件系统中创建文件或目录的链接(类似于桌面快捷方式).如果加以利用其发挥的作用是非常的大的,不仅可以帮助我们节省 ...

  9. git bash中避免在push时反复输入用户名和密码

    我用的是windows系统,这几天学着使用git时发现每次使用git push时每次都要输入一遍用户名和密码,感觉特烦,特意上网查了下,找到了简化方法.虽然不是原创,但至少算是加了点自己的心得和经验吧 ...

  10. Java学习日记-7 抽象类和接口

    一.抽象类 abstract修饰:类和类中的方法 抽象方法:abstract type name(parameter-list);(abstract不能修饰static方法和构造函数) 引用:抽象类有 ...