版本控制工具-GIT-基本命令

安装GIT

Linux上安装GIT

MAC OS X上安装GIT

有两种安装Git的方法。

一是安装homebrew,然后通过homebrew安装Git,具体方法请参考homebrew的文档:http://brew.sh/

第二种方法更简单,也是推荐的方法,就是直接从AppStore安装Xcode,Xcode集成了Git,不过默认没有安装,你需要运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了。

Windows上安装GIT

版本库获取与修改

将一个目录初始为Git仓库

$ git init

Initialized empty Git repository in /opt/konnichiwa/.git/
# 在 /opt/konnichiwa/.git 目录初始化空 Git 仓库完毕。
$ ls -a
.        ..       .git     README   hello.rb
复制一个Git仓库
$ git clone git://github.com/schacon/simplegit.git
Initialized empty Git repository in /private/tmp/simplegit/.git/
remote: Counting objects: 100, done.
remote: Compressing objects: 100% (86/86), done.
remote: Total 100 (delta 35), reused 0 (delta 0)
Receiving objects: 100% (100/100), 9.51 KiB, done.
Resolving deltas: 100% (35/35), done.
$ cd simplegit/
$ ls
README   Rakefile lib

修改远程仓库地址
方法一:修改命令
$ git remote origin set-url [url]
方法二:先删后改
$ git remote rm origin
$ git remote add origin [add]
方法三:直接修改Config文件

查看当前的远程库
$ git remote -v
origin git://github.com/xx/xx.git

添加远程仓库
$ git remote 
$ git remote add pb git://github.com/xx/xx.git(重命名为pb)
$ git remote -v
origin git://github.com/xx/xx.git
pb git://git.com/xx/xx.git

远程仓库的删除和重命名
$ git remote rename pb paul
$ git remote
$ git remote rm paul


基本的快照

添加文件到缓存
$ git add xx (添加文件到缓存)
$ git status -s (查看文件在工作目录与缓存的状态)
$ git diff (显示已写入缓存与已修改但尚未写入缓存的改动的区别)
$ git diff --cached (查看已缓存的改动)
$ git diff HEAD (查看已缓存的与未缓存的所有改动)
$ git diff --stat (显示摘要而非整个diff)
记录缓存内容的快照
--Git每一次提交记录名字和电子邮箱地址
$ git config --global user.name 'Your name'
$ git config --global user.email '[email protected]'
--提交实际存储快照 -m:注释
$ git commit -m 'my xxx changes'
--自动将在提交前将已记录、修改的文件放入缓存区
$ git commit -a -m 'my xxx changes'
取消缓存已缓存的内容
--取消之前git add的添加
$ git reset HEAD --file
将文件从缓存区中移除
$ git mv 

分支与合并

列出、创建与管理工作上下文
$ git branch (列出分支)
$ git branch xx (创建xx分支)
$ git branch -b xx (创建xx分支并切换到xx分支)
$ git branch -d xx (删除xx分支)
切换到新的分支上下文
$ git checkout xx (切换到xx分支)
$ git checkout -b xx (创建xx分支并切换到xx分支)
合并分支
$ git merge xx (将xx分支内容与当前分支内容合并)
合并冲突
$ git diff (查看冲突内容)
$ git add
$ git commit
显示一个分支中提交的更改记录
$ git log (查看当前分支的更改记录)
$ git log --oneline
$ git log --oneline --graph

分享与更新项目

罗列、添加和删除远程仓库别名
$ git remote
$ git remote -v
$ git remote add 
$ git remote rm 
从远程仓库下载新分支与数据(需手动merge)
$ git fetch [alias]/[branch]
从远程仓库提取数据并合并到当前分支
$ git pull
推送新分支与数据到某个远端仓库
$ git push [alias]/[branch] (将本地的[branch]分支推送成[alias]远端上的[branch]分支)
--提交分支冲突解决
$ git fetch [alias]
$ git merge xx/xx
$ git push [alias] [branch] (将本地改动推送到远端仓库)

猜你喜欢

转载自dailyreset.iteye.com/blog/2288500