Git常用命令介绍

在当前目录初始化Git仓库

git init

跟踪文件,添加文件到暂存区

git add

提交暂存区文件到仓库

git commit

常用参数:
-a:提交工作区已经修改的文件和暂存区的文件到仓库
–amend:修改最后一次提交,或者说将上次提交后的修改追加到上次提交

克隆仓库到本地

git clone git@github.com:YOUR_USER_NAME/REPO_NAME.git

或者

git clone https://github.com/YOUR_USER_NAME/REPO_NAME.git

查看状态

git status

查看提交历史

git log

文件比较,commit缺省的情况下和HEAD比较

git diff [--cached/staged] [<commit>]

常用参数:
–cached:比较暂存文件和已经提交文件
–staged:比较暂存文件和已经提交文件

移除文件

git rm

从暂存区及仓库中移除文件,并且以后不再跟踪

git rm --cached file

移动或重命名

git mv src dest

取消暂存

git reset HEAD file

重置工作目录到上次提交的状态

git reset --hard HEAD

恢复单个文件到上次提交的状态

git checkout -- file

回退到上一次提交,如果马上commit,相当于拷贝一个旧的版本

git revert HEAD

创建分支

git branch branch_name

参数说明:
-b:创建分支并切换到新的分支,相当于

git branch branch_name
git checkout branch_name

查看本地分支

git branch

参数说明:
-r:查看远程分支

切换分支

git checkout branch_name

合并分支branch_name到当前分支

git merge branch_name

查看当前分支和branch_name分支的差异

git diff branch_name

删除分支branch_name

git branch -d branch_name

查看远程仓库

git remote
git remote show

查看远程仓促repo_name细节

git remote show repo_name

添加远程仓库到本地

git remote add local_name(origin) remote_url

修改远程仓库在本地的名称

git remote rename old_name new_name

删除远程仓库在本地的连接

git remote rm local_name(origin)

抓取远程仓库中更新的数据
git fetch local_name(origin)

抓取远程仓库分支到本地并且合并

git pull local_name(origin)

相当于

git fetch local_name(origin)
git merge local_name(origin)/branch_name

推送到远程仓库

git push local_name(origin) local_branch_name:remote_branch_name

显示标签

git tag

参数说明:
-a:增加标签
-d:删除标签
-l:显示标签列表
-m:增加标签时的备注

日常使用例子

个人仓库

  1. 在Github新建一个仓库REPO_NAME
  2. 在本地目录初始化仓库:
    git init
  3. 将本地仓库和远程仓库建立连接:
    git remote add origin git@github.com:YOUR_USER_NAME/REPO_NAME.git
  4. 增加/修改/删除文件
  5. 添加修改到暂存区:
    git add
  6. 提交到本地仓库:
    git commit -m
  7. 推送到远程仓库:
    git push origin master

fork 他人仓库

  1. 在源仓库的Github页面点击fork,fork到个人仓库
  2. 克隆到本地:
    git clone git@github.com:YOUR_USER_NAME/REPO_NAME.git

fork的仓库和源仓库同步

  1. 增加本地仓库到源仓库的远程连接:
    git remote add upstream git@github.com:ORIGIN_OWNER/REPO_NAME.git
  2. 将远程仓库同步到本地:
    git fetch upstream
  3. 将同步到本地的远程仓库合并到本地master分支:
    git checkout master git merge upstream/master
  4. 将同步推送到Github:
    git push origin master

推荐学习:
http://blog.csdn.net/max2005/article/details/17355303
http://try.github.com/
http://git-scm.com/doc

发表评论

电子邮件地址不会被公开。