个人 git 使用总结

git命令备查。

从当前目录初始化

$ git init

初始化后,当前目录下创建一个.git目录,所有git需要多数据和资源都在这个目录中。

克隆仓库

$git clone http://****

或者$git clone git://****

要确定哪些文件当前处于什么状态,可以用 git status 命令。如果在克隆仓库之后立即
执行此命令,会看到类似这样的输出:

$ git status

# On branch master
nothing to commit (working directory clean)

这说明你现在的工作目录相当干净。换句话说,当前没有任何跟踪着的文件,也没有任何
文件在上次提交后更改过。此外,上面的信息还表明,当前目录下没有出现任何处于未跟踪
的新文件,否则 Git 会在这里列出来。最后,该命令还显示了当前所在的分支是 master.

使用命令 git add 开始跟踪一个新文件。所以,要跟踪 README 文件,运行:
$ git add README

要查看尚未暂存的文件更新了哪些部分,不加参数直接输入 git diff

单单 git diff 不过是显示还没有暂存起来的改动,而不是这次工作和上次提交
之间的差异.

提交更新

每次准备提交前,先用 git status 看下,是不是都已暂存起来了,然后再运行提交命
令 git commit

$ git commit

这种方式会启动文本编辑器以便输入本次提交的说明。(默认会启用 shell 的环境变量

$EDITOR 所指定的软件,一般都是 vim 或 emacs。

尽管使用暂存区域的方式可以精心准备要提交的细节,但有时候这么做略显繁琐。Git 提
供了一个跳过使用暂存区域的方式,只要在提交的时候,给 git commit 加上 -a 选项,Git
就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤。

在用git来进行版本控制时,我需要执行git commit命令,将索引内容添加到仓库中。

示例1:

git commit  -m "提交的描述信息"

如果我们这里不用-m参数的话,git将调到一个文本编译器(通常是vim)来让你输入提交的描述信息

可能一天下来,你对工作树中的许多文档都进行了更新(文档添加、修改、删除),但是我忘记了它们的名字,此时若将所做的全部更新添加到索引中,比较轻省的做法就是:

git commit -a -m "提交的描述信息"

git commit 命令的-a 选项可只将所有被修改或者已删除的且已经被git管理的文档提交倒仓库中。如果只是修改或者删除了已被Git 管理的文档,是没必要使用git add 命令的。

git add .命令除了能够判断出当前目录(包括其子目录)所有被修改或者已删除的文档,还能判断用户所添加的新文档,并将其信息追加到索引中。

另外,要注意的问题是,Git 不会主动记录你对文档进行的更新,除非你对它发号施令(比如通过git add命令)

要想和其他人分享某个分支,你需要把它推送到一个你拥有写权限的远程仓库

git push (远程仓库名) (分支名)

$git push origin master

将你本地代码推送到master仓库

/*****************转自http://blog.csdn.net/iefreer/article/details/7679631**********/

如果系统中有一些配置文件在服务器上做了配置修改,然后后续开发又新添加一些配置项的时候,

在发布这个配置文件的时候,会发生代码冲突:

error: Your local changes to the following files would be overwritten by merge:
        protected/config/main.php
Please, commit your changes or stash them before you can merge.

如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下:

git stash
git pull
git stash pop

然后可以使用git diff -w +文件名 来确认代码自动合并的情况.

反过来,如果希望用代码库中的文件完全覆盖本地工作版本. 方法如下:

git reset --hard
git pull

其中git reset是针对版本,如果想针对文件回退本地修改,使用

  1. git checkout HEAD file/to/restore

/***********************************************************/

错误描述:

error: object file .git/objects/9a/83e9c5b3d697d12a2e315e1777ceaf27ea1bab is empty

解决方法:

$ rm -fr .git

$ git init

$ git remote add origin your-git-remote-url

$ git fetch

$ git reset --hard origin/master

$ git branch --set-upstream-to=origin/master master

时间: 2024-10-15 13:32:22

个人 git 使用总结的相关文章

Windows Git+TortoiseGit简易使用教程

转载自 http://blog.csdn.net/jarelzhou/article/details/8256139 官方教程:http://tortoisegit.org/docs/tortoisegit/(英文版) 为什么选择Git 效率 很多人有一种习惯吧,什么软件都要最新的,最好的.其实吧,软件就是工具,生产力工具,为的是提高我们的生产力.如果现有的工具已经可以满足生产力要求了,就没有必要换了.生产效率高低应当是选择工具的第一位. 历史 开源世界的版本控制系统,经历了这么几代: 第一代,

git 把本地创建的项目放到github上

很早之前就注册了Github,但对其使用一直懵懵懂懂,很不熟练.直到昨天做完百度前端技术学院的task,想把代码托管到Github上的时候发现自己对于Git的操作是如此之愚钝,所以今天决定把Git好好学习一遍,好让自己以后能更好地使用Github,主要还是通过Git教程 - 廖雪峰的官方网站来学习.简要步骤可以直接看最后的总结. Git的安装就不说了. 第一步:我们需要先创建一个本地的版本库(其实也就是一个文件夹). 你可以直接右击新建文件夹,也可以右击打开Git bash命令行窗口通过命令来创

git基本操作

一.分支操作 git init 初始化仓库 git status 查看仓库变化 git add 从工作树提交到暂存区 git commit 从暂存区提交到本地仓库 git commit --amend 修改上条记录的备注 git commit -am 'comment' 提交到暂存区和本地仓库 git diff 工作树和暂存区插播 git diff HEAD 工作树和最本地仓库的差别 git checkout -- filename 撤销工作需修改(修改.删除) git log [filenam

《个人-GIT使用方法》

本文章转载于:http://blog.csdn.net/gemmem/article/details/7290125 1. Git概念 1.1. Git库中由三部分组成 Git 仓库就是那个.git 目录,其中存放的是我们所提交的文档索引内容,Git 可基于文档索引内容对其所管理的文档进行内容追踪,从而实现文档的版本控制..git目录位于工作目录内. 1) 工作目录:用户本地的目录: 2) Index(索引):将工作目录下所有文件(包含子目录)生成快照,存放到一个临时的存储区域,Git 称该区域

Windows下使用Git Bash提交代码到GitHub

以前上传代码到Github主要是通过客户端Github Desktop或者网页,换电脑后感觉安装客户端太麻烦,了解命令行的方式就很有必要了. 这里的实验是把一些代码更改提交到Json.git仓库里. "ls" 为Linux命令,用于查看当前目录下的文件及文件夹. "git init" 命令用于对当前目录进行初始化,使当前的project-name目录交由Git进行管理. "git add" 命令可以对指定文件添加跟踪.如果后面跟空格加点号&quo

linux下git常用命令

1 安装: sudo apt-get install git 2 创建一个版本库: 新建一个文件夹,进入这个目录之后 git init 3 创建一个版本: git add 文件名或目录 #表示将当前文件的修改放入缓存区 先不提交 git commit -m '版本名称' #将缓冲区提交建立一个版本 4 查看版本记录 geit log 每条一行查看版本信息 git log --pretty=oneline 按图形方式查看 有合并版本的时候很清晰 git log --pretty=oneline -

Ubuntu Linux下通过代理(proxy)使用git上github.com

github.com,作为程序员的代码仓库,我们经常会用到.但有时候我们不能直接通过网络链接它,只能通过代理. 这里我有一台代理服务器,起初我以为在终端设置了代理环境就行了,其设置为在你的~/.bashrc里增加以下几行: export http_proxy="http://proxy-server:3128/" export https_proxy="http://proxy-server:3128/" export ftp_proxy="http://

git入门(4)团队中git保管代码常用操作

在团队中协作代码时候,一定要熟练使用以下git命令,不至于把代码库弄乱, PS:一定要提交自己代码(git push)时候,先进行更新本地代码库(git pull),不然提交异常 git常用命令 1·.clone相应项目 git clone ... 举个栗子(只是个栗子) git clone https://github.com/saucxs/watermark.git 2.新建分支并且切换到这个分支 git checkout -b 分支名(英文名) git chenckout -b dialy

已经在Git Server服务器上导入了SSH公钥,可用TortoiseGit同步代码时,还是提示输入密码?

GitHub虽好,但毕竟在国内访问不是很稳定,速度也不快,而且推送到上面的源码等资料必须公开,除非你给他交了保护费:所以有条件的话,建议大家搭建自己的Git Server.本地和局域网服务器都好,不信你试试,那速度,怎一个爽字了得! 默认情况下,使用TortoiseGit同步代码,每次都需要输入用户名和密码,但为了方便可以在客户端创建ssh密钥,用于服务器端和客户端的认证(详细过程大家可参考这里),但有时会出现“ 已经在Git Server服务器上导入了SSH公钥,可用TortoiseGit同步

使用git命令下载仓库中的代码

git是一种免费开源的分布式版本控制器.好像不能在页面点击下载源代码. 在Ubuntu下,安装git工具. sudo apt install git 使用命令下载 git clone 源代码仓库地址 如: #git clone git://git.denx.de/u-boot.git 地址是在仓库页面找到的.