您的位置:首页 > 其它

git 常用命令

2013-10-23 13:17 246 查看
1. $ git push -u origin addMeal    // addMeal 是我本地的分支名。

// 向远程仓库上传本地分支,并使本地分支跟踪远程仓库。而去掉“ -u ”的命令只是向远程仓库添加了分支,本地并未跟

//踪。此命令会打印“Branch addMeal set up to track remote branch addMeal from origin.”。

2. $ git branch -avv  // 查看本地和远程的分支,也会显示本地跟踪远程分支的情况。

// 如下所示:

* addMeal                             783c7ae [origin/addMeal] Added AppUserCollection's list by orderCounter

  master                              ed5fc42 [origin/master] Merge pull request #12 from ryanchang/info_map

  remotes/origin/HEAD                 -> origin/master

  remotes/origin/addMeal              783c7ae Added AppUserCollection's list by orderCounter,orderSum and lastOrderTime.

  remotes/origin/master               ed5fc42 Merge pull request #12 from ryanchang/info_map

  remotes/origin/增加登录时验证码功能 d0b1c25 version 1

// “[]”里即是跟踪的远程分支。

3.$ gitk &  // 后台打开gitk 图形工具,方便查看分支和提交的commit结点。



4. $ git status  // 查看本地工作目录的文件状态。

# On branch addMeal                                     // 目前所在的分支,用“git branch” 也可以查看。

# Changes to be committed:                           // 这下面显示已经添加到暂存区的文件。其中 "git reset HEAD <file>..."可以取消放到暂存区的文件。

#   (use "git reset HEAD <file>..." to unstage)

#

# modified:   java/src/com/candzen/microkitchen/test/TestMain.java   // 添加到暂存区的文件

#

# Changes not staged for commit:                // 这下面显示已经改变的文件,但是还未添加到暂存区。可用"git add <file>..."加到暂存区,也可以用取消"git checkout -- <file>..." 取消

#   (use "git add <file>..." to update what will be committed)   //改变。

#   (use "git checkout -- <file>..." to discard changes in working directory)

#

# modified:   java/src/com/candzen/microkitchen/db/MealElementCollection.java    // 已经改变的文件。

#

5. $ git push origin addMeal   // 把更新的本地分支push到   远程的  被本地分支跟踪的分支。

打印信息如下:

Counting objects: 29, done.

Delta compression using up to 4 threads.

Compressing objects: 100% (12/12), done.

Writing objects: 100% (16/16), 1.90 KiB | 0 bytes/s, done.

Total 16 (delta 10), reused 0 (delta 0)

To https://github.com/xxxxx/XXX
   783c7ae..7ecc238  addMeal -> addMeal 

6. $ git fetch  // 在远程合并代码后,在本地获取远程的更新。然后用“gitk” 查看,再把本地的远程的master分支合并到本地的master分支。

$ git checkout master                      // 切换到本地主分支。

Switched to branch 'master'            // 打印的信息。

Your branch is behind 'origin/master' by 6 commits, and can be fast-forwarded.

  (use "git pull" to update your local branch)

$ git pull                                       // 把远程的master分支合并到本地的master分支。

7. $ git branch -d addMeal   // 删除本地分支。 

Deleted branch addMeal (was 7ecc238).   // 打印的信息。

8. $ git fetch --prune   // 删除本地分支跟踪的远程分支(远程分支在merge后,在服务器端被删除了)。清理本地分支,使本地分支与远程的同步。

x [deleted]         (none)     -> origin/addMeal       // 打印的信息。

9. $ git reset --hard <commit_sha>   // 取消merge或提交。<commit_sha>指提交或合并前的那个结点。

                                                           // 只是提交的话,也可用“git reset --hard HEAD~n”,回到此结点的前n个结点。

10.$ git branch --track <new branch name> origin/branchName   // 新建一个分支来跟踪远程分支。

11.

$ git remote show origin 
* remote origin
  Fetch URL: https://github.com/ryanchang/tissot-android   Push  URL: https://github.com/ryanchang/tissot-android   HEAD branch: master
  Remote branches:
    master     tracked
    sam-patrol tracked
  Local branches configured for 'git pull':
    master     merges with remote master
    sam-patrol merges with remote sam-patrol
  Local refs configured for 'git push':
    master     pushes to master     (local out of date)
    sam-patrol pushes to sam-patrol (up to date)
sampythoners-Mac-mini:tissot-android sampythoner$
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git