git 常用命令

来源:互联网 发布:mac版本pr怎么降噪音 编辑:程序博客网 时间:2024/05/21 06:38

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$



原创粉丝点击