• Git 版本控制常用功能


    目录

    1. 工具
    2. 安装事项
    3. 本地密码保存
    4. Git常用使用操作
    5. 如何管理我们的版本及分支

    工具

    开源的一款版本控制器Git深受大家喜欢。下面我归纳下用Git开发需要哪些东西。

    客户端:

    1、msysgit 是Window平台下的功能软件

    下载地址 https://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git

    2、Tortoisegit 是一款git客户端管理工具。

    下载地址 https://code.google.com/p/tortoisegit/wiki/Download?tm=2

    3、Git Extensions 是一款git版本控制器插件,它提供一个图形用户界面给用户操作。

    下载地址 https://code.google.com/p/gitextensions/

    4、Git Source Control Provider 是给vs 2010及以上版本的一款git插件

    下载地址 http://visualstudiogallery.msdn.microsoft.com/63a7e40d-4d71-4fbb-a23b-d262124b8f4c

    服务器:

    如果想把自己的服务器作为版本控制的服务器。下面有两片文章供大家参考

    英文 http://docs.nuget.org/docs/creating-packages/hosting-your-own-nuget-feeds

    中文 http://www.cnblogs.com/dudu/archive/2011/06/24/git_on_windows.html

    git 文档及书

    Git Community Book: http://gitbook.liuhui998.com/index.html

    Git Command 指令文档:http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/zh_cn/index.html

    安装事项

    在安装msysgit的时候,因为Window(CRLF)和Linux(*nix)平台的换行符不一样,会导致我们提交到服务器会改变我们代码中的换行符。这里在安装的时候 选择Checkout as-is,commit as-is.

    2012-01-10_175618

    本地密码保存

    Git 客户端本地密码保存。

    在每次得或者提交到服务器都要提示输入账号和密码。为了减轻负担把账号和密码存到本地。

    1. 在Windows中添加一个HOME环境变量,值为%USERPROFILE%,如下图:

    2. 在“开始》运行”中打开%Home%,新建一个名为“_netrc”的文件。

    3. 用记事本打开_netrc文件,输入Git服务器名、用户名、密码,并保存。示例如下:

    machine  提交到服务器的网址(不需要端口号)

    login 用户名

    password  密码

    Git常用使用操作

    一、命令操作:

    1、git branch   查看本地分支

    2、git branch -r  查看远程分支

    3、git status   查看哪些文件被提交(commit)了,哪些文件没有提交,哪些文件修改了。

    4、git commit -a 提交修改的文件,这时候会跳出vim编辑器,不建议使用。git commit -a -m 全部提交。

    5、gitk          提交后可以通过这个命令查看本地文件提交后的所有信息。

    6、git checkout XXX  切换到某分支(XXX)

    7、git branch -d XXX  删除本地的某个分支(小写d改成大写D是强制删除)

    8、git merge XXX   合并分支

    9、git reset --hard HEAD   当合并分支后,想放弃合并后的操作。此操作回到了合并前的状态。

    10、git log 查看当前分支的日志(加 --stat 是哪些文件被修改了,哪些文件新增或删除。--pretty格式化日志,比如 --pretty=short)

    11、git diff 比较当前本地工作目录和上次提交的这个本地目录的差别。 git diff XXX 是和某个分支的差别。git diff --cached 是当前的索引和上次提交的差异。git diff XXX --./lib 和某个分支下的lib目录下的文件的差异。git diff --stat 查看当前分支哪些文件改动了。(按Q键退出查看差别。)

    12、git pull  得服务器上这个分支的最新数据(这里做了两个操作,一个是得,一个是merge),git pull XXX  得某个分支的数据。一般的做法是先 git fetch XXX 然后查看本地的和刚取得的数据的比较 git log -p XXX 检查完毕,然后在git merge XXX

    13、git stash 当我们在这个分支上做了一些操作,这时候要修改上个提交版本的bug,而不想提交当前修改的操作,用git stash 缓存起来,且它会自动回到上次commit的版本。

    14、git push 把我们本地已经Commit后的版本提交到服务器。如果服务器上的版本和本地(已经Commit)本版不相同,则会提示先pull 在push提示。当服务器上的某个文件已经被被人改动过了,这时我也改动过,则会提示合并冲突操作。git 以

    ++<<<<

    ++====

    >>>>++

    来区别冲突位置在文件中。也可以强制push 只要在分支前面加“+”命令为: git push +XXX(分支)

    15、git tag XXX   给当前要提交的版本一个标签。XXX是标签名称。

    16、git rebase 远程分支      把当前分支commit的操作取消,加到远程分支上。如下图:

    rebase前:

    Rebase后:

    没有rebase,而是我们直接pull(默认做merge操作),图为:

    rebase的时候也少不了有冲突的可能性。有冲突时,rebase会停止。解决冲突完之后,继续rebase。 git rebase --continue

    如果想在rebase过程中对一部分提交的操作进行更改。在命令中加 "i" git rebase -i XXX(远程分支)。

    二、TortoiseGit工具技巧

    1、在app.config文件下有连接字符串,如果每个人的连接到的数据库不同,那么提交到服务器,别人拿的话就会出现冲突。为了解决这个问题。可以假设我们本地额app.config没有改动,如下图形操作必须装 git extension插件

    image

    如果想保持和服务器上的版本一直,那么Reset这个文件。

    Assume Unchanged命令是 git update-index --assume-unchanged <files>

    取消命名是 git update-index --no-assume-unchanged <files>

    如何管理我们的版本及分支

    这张图可以很好的说明如何来管理版本分支。

    更详细的请看这里


    作者:dingli
    出处:http://www.cnblogs.com/dingli/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    修改ASP.NET MVC Ajax分页组件ASP.NET MvcPager一个小Bug并修该样式为自己所用(一)
    HighCharts报表 API
    自动化开发资料
    修改ASP.NET MVC Ajax分页组件ASP.NET MvcPager一个小Bug并修该样式为自己所用(三)
    网络营销资料收集
    C#扩展方法
    UI Automation Under the Hood (1)
    C#辅助类之ConfigHelper
    设计模式资源汇总
    Windows GUI自动化测试
  • 原文地址:https://www.cnblogs.com/dingli/p/2988710.html
Copyright © 2020-2023  润新知