唔,git有本地版本管理功能,所以,这个完全是可以拿来自己做版本管理的。所以有必要学习一下,另外,在oschina上开了个账户,用来管理自己一些代码,也是增加自己学习git的动力。

1. 使用clone下载整个仓库。在当前文件夹建立了一个新的目录,并将所有文件下载过来,存入新目录。

git clone your.address.git

2. 使用git最常用的工作流程。包括从远端仓库下载文件到本地,修改,然后提交。

1)从远程仓库更新代码下来。这需要你自己手动新建一个目录,并且在目录下面执行git init。该指令会把远程仓的代码下载到当前目录下来。

git pull your.address.git

由于pull会自动merge代码,所以,也可以选择相对安全一点的fetch来下载远端的代码。

git fetch your.address.git

2)修改完代码,将修改的信息添加到索引。这是我们在commit前必须要进行的一步,“-A”目的是将所有的修改都添加到索引中。

git add -A(git add -i,交互式添加)

或者是删除,把已经add的修改信息从索引中删除

git rm file.name

3)按照索引,向本地的仓库提交修改。注意,只是提交修改到本地仓库,并没有发送到远端仓库。-m是提交时的备注消息,这里的提交消息为“test”。

git commit -m "test"

由于commit是将修改信息提交到当前branch,所以,如果你不确定是当前在哪个branch的话,可以用如下一句查看:

git branch

4)由于如果没有执行过add,修改就不会被提交,所以,强烈建议在commit之前,使用status来查看文件状况。

git status

5)将本地当前branch的全部文件push到远端仓库,如有冲突,强行覆盖。这里的origin时指pull时的远程仓库,即上面的your.address.git。master是指提交到远程仓库的哪个branch。

git push origin master

3. branch的相关操作

1)branch就是不同的版本,我们或者可以用trunk来表示,相当于一个子仓库。我们可以为基本款,豪华款或者精英款之类的各建一个仓库。查看当前有哪些“子仓库”:

git branch

2)创建一个新的branch,并把这个branch设置为当前branch:

git checkout -b new_branch_name

还有下面这条也是

git branch new_branch_name

上面创建的新分支默认是空的,或者是把创建前的no branch状态挂载上来。我们也可以用已有的branch来初始化新的branch:

git checkout –b new_branch_name local_old_branch_name

3)或者,我们可以切换到已经有的branch上:

git checkout local_branch_name

4)删除branch

git branch –D local_branch_name

4. 还原刚刚提交的某个文件

git checkout app/model/user.rb

5. 查看提交的历史记录

git log

6. rebase,reverse,revert

留白。

7. merge

留白。

8. diff

留白。

9. git show

查看所有branch,git show-branch --all

10. git config

设置开发者名称,git config --global user.name "biiigfish"

设置开发者名称(全局),sudo git config --system user.name biiigfish

设置开发者邮箱,git config --global user.email "piedgogo@gmail.com"

设置git输出是彩色的,git config color.ui true

自动diff的颜色,git config --global color.diff auto

status要显示颜色,git config --global color.status auto

git config --global color.branch auto

git config --global color.log auto  #git log --grap 据说很漂亮

11. 代码提交的管理

每次push或者pull都要手动的指定url,真是要烦透了。。。所以,能记住提交url才是硬道理。其中的关键,就在“ .git/config”中。先说指令:

# 其实主要就是git remote,实在不懂,可以看help信息git help remote.
git remote add name url #添加一个名叫name的url,push的时候可以直接使用push name
git remote set-url --add name url #给name再添加一个url。现在,push的时候就可以同时push到两个url了。

上面添加的url,或者是remote也都是可以修改或者删除的。具体看help。

git使用记录的更多相关文章

  1. git使用记录(新手入门)

    最近参与了公司的项目开发,最后要用git来把代码添加到远程库,但是没怎么接触过git,记录一下使用的流程 首先,当然是先下载git,这个略过不提,下载完之后,在你想要保存代码的目录下,用git ini ...

  2. linux下git使用记录1 git 提交

    linux下git使用记录1   浏览:985 发布日期:2013/08/08 分类:技术分享 在使用github的时候,不可避免的接触到了git,用他来更新项目,做版本控制.这里特别把常用的命令记录 ...

  3. 如何搜索 git 提交记录

    如何搜索 git 提交记录 git log -p --all -G '可通过正则搜索' --pretty=format:'%ci' # 可跨分支搜索 # -S '通过文本搜索' git branch ...

  4. Git学习记录 力做全网最强入门教程

    目录 Git学习记录 力做全网最强入门教程 什么是GitHub? 什么是Git? Git的配置 Git的安装(只介绍windos操作系统下) Git的配置 至此我们的入门教程到此结束,更新中级教程要等 ...

  5. git杂记-记录每次更新到仓库

    git status 和 git diff的运用 git status 记录的是关于仓库文件是否有变更,例如是否被修改,是否被添加到暂村区.至于文件更改了什么内容该命令并不关心: git status ...

  6. gitignore失效 删除 git commit记录

    已追踪的文件需要清理本地缓存 git rm -r --cached . git add . git commit -m 'update .gitignore' 删除 git commit记录 不小心上 ...

  7. [译] 怎样(以及为什么要)保持你的 Git 提交记录的整洁

    最近在掘金翻译了一篇文章,主要讲的是 Git 提交记录的维护,确实很有用,感兴趣的同学可以去看一下.链接如下: [译] 怎样(以及为什么要)保持你的 Git 提交记录的整洁 截图:

  8. 怎样快速找到某一行代码的git提交记录

    利用notepad++提高问题分析效率,以及快速找到某一行代码的git提交记录 1. 全目录搜索/替换 Notepad++是一款强大的文本编辑工具,当知道大概的关键词但不知道在哪个日志时可以使用not ...

  9. git 学习记录—— git 中的仓库、文件状态、修改和提交操作等

    最近开始学习使用版本控制工具  git .学习方式主要通过阅读 git 网站上的 Pro git 和动手实践,使用的系统为 Ubuntu16.04LTS,以及 Windows 8.1. 本文主要关注 ...

  10. git使用记录四:.git分析

    git使用记录四: .git 查看.git 目录下的文件 soaeon@DESKTOP-FUJJTHR MINGW64 /f/gitstudy/.git (GIT_DIR!) $ ls -al tot ...

随机推荐

  1. mysql数据库的备份和导入

    mysqldump -u root -p --default-character-set = gbk -d demo_db>c:/appserv/www/demosql/sql1.sql//将数 ...

  2. 【转】【PNG压缩工具】PNG 图像的优化及压缩工具介绍

    图像格式有许多种不同类型,在互联网上最常见的有JPEG.GIF.BMP.TIFF和PNG.每一种图像格式都有它自己的用途,比如GIF是用于动画的,JPEG是用于高清图片的,这种图片在保存或者调整大小后 ...

  3. C#定制并发送HTML邮件

    HTML格式的邮件能够使用所有html/css使得邮件更丰富,比如现在很多newsletter 都是使用的html邮件. 今天试了一下,如何把图片嵌入到html中呢? 方法一,你的图片host到了in ...

  4. 入门Linux

    45分钟带你入门Linux(附:笔者在工作室开讨论班录制的视频讲解)   第一部分    熟悉Linux基本操作 一.初识Linux 1.Linux特点 ◊  开放性 ◊  多用户 ◊  多任务 ◊  ...

  5. Dungeon Game ——动态规划

    The demons had captured the princess (P) and imprisoned her in the bottom-right corner of a dungeon. ...

  6. Sql复习之安全性与权限管理+vmware增加硬盘容量

    参考资料: http://www.cnblogs.com/Jackeyzhang/archive/2011/05/18/2049621.html VmWare虚拟机增加硬盘容量的方法 http://b ...

  7. JS案例之1——pager 分页

    学习JS大半年之久,第一次自己尝试写一些小插件,写法参考网上某位牛人写代码的思路. 此处代码写的是静态分页.如果需动态分页,还可以修改下.第一次写,还有很多地方可以优化.希望各位大牛踊跃拍砖. 预览图 ...

  8. Linux(10.18-10.25)学习笔记

    一.学习目标 1. 了解常见的存储技术(RAM.ROM.磁盘.固态硬盘等) 2. 理解局部性原理 3. 理解缓存思想 4. 理解局部性原理和缓存思想在存储层次结构中的应用 5. 高速缓存的原理和应用 ...

  9. 关于git托管的一些心得

    GIT托管的一些心得 熟练运用软件进行GIT托管的好处 在上一周的学习中,我提出来了一个疑惑,就是为什么一定要用软件托管而不选择web托管,在这周的学习中,我通过实践体会到了一些运用软件托管的好处: ...

  10. Jenkins进阶系列之——06FTP publisher plugin插件下载(支持绝对路径)

    注意:绝对路径用/开头 绝对路径:/root/.jenkins/jobs/test/workspace/bbb/test.war 相对路径:bbb/test.war 点我下载