git 命令使用速查手册( 个人版) 1. 克隆远程库 2. 查看远程库中有哪些分支 3.   将远程分支关联到本地来 4.    删除库中(文件系统中)加入的但还未跟踪的文件/文件夹

    git clone   repository_address

    通过 git clone 获取的git库只是远程库中的当前工作分支,如果想获取其它分支信息,可参考下面。

2. 查看远程库中有哪些分支

    git  branch  -r     

    命令执行的前提是已经clone了远程库到本地。

3.   将远程分支关联到本地来

    git  checkout  -b  local_branch_name   remote_branch_name

    其中远程分支的名字可以根据上面的第2点处的命令查看。

    git    checkout  filename  放弃上一次暂存以来最新的改动

4.    删除库中(文件系统中)加入的但还未跟踪的文件/文件夹

    git clean  -f       删除所有为跟踪的文件

    git clean  -d      删除所有未跟踪的文件夹

    git clean      -f   filename  删除指定文件名的未跟踪的文件

5.    删除已经跟踪的文件(同时从文件系统中删除,只适合已添加到暂存区去的文件)

           git  rm  -f filename

6.    删除已经跟踪的文件(但是不从文件系统中删除,只适合已经添到暂存区去的文件)

           git rm --cached filename 

7.     删除本地的分支

                    git  branch -d   branchname

8.   报   fatal: the remote end hung up unexpectedly

       原因:每次提交大代码过大

       解决方案: 

      windows:

         [http]
         postBuffer = 524288000

      linux:

                      git config http.postBuffer 524288000

9.  通过gerrit 提交本地的一次修改

   假设开发是在 git checkout-b dev_lulei  --track origin/masterdev_lulei分支上

   当我们在该完成所有的开发任务后,可以在该分支中git add 和git commit 一次

   然后重新创建一个分支,拉最新的远程代码

   git checkout -b luleiup --track origin/master

   git pull

   git merge  --squash dev_lulei

   repo onload . --br=luleiup -re ***@baidu.com,***@baidu.com

   值得注意的是在 dev_lulei中可以执行多次提交,但是每次由luleiup分支向上面提交时应该保证一次提交一个功能点

 

10.    有时多个分支并行开发,假如有两个分支分别为  lulei_master ,lulei_4_4_1,曾经我在lulei_master分支上提交了一个问题的解决,如下

   git  命令使用速查手册( 个人版)
1. 克隆远程库
2. 查看远程库中有哪些分支
3.   将远程分支关联到本地来
4.    删除库中(文件系统中)加入的但还未跟踪的文件/文件夹

    但是现在我在 lulei_4_4_1 分支上有新的开发任务,而此时又想把改次提交应用到当前分支中,则可以

   git checkout  lulei_4_4_1

         git cherry-pick  c0cbe8525e9e9f791d169b7e68e9fceab550675d

    这时如果在 lulei_4_4_1中没有冲突,那么会自动创建一次提交,该提交的 comment和拣出的那个一样

 11.   git diff         比较的是上一次暂存以来的变化,即暂存区的文件新的改动,只是针对已经跟踪的文件

     git diff  --cached  比较的是暂存区未提交的改动和上一次提交的差异,注意新的为提交的改动不参与比较

 12.  git  commit -a   这里的-a参数,只是意思跳过对已经暂存的文件的改动后的再一次保存操作,它相当于 git add + git commit ,注意它只是对已经被暂存的文件有效

   git comit --amend   如果刚刚提交后没有任何修改(是指没有对暂存区做任何修改),可以运行该命令,重新编辑提交的备注信息

       git add  anothingfile 

   git commit --amend  则可以在上一次提交中追加一个 anothingfile的文件,最终还是产生一次提交

13 .  因为本地也有个 origin/master 分支,且它不能被自定义移动,所以在merge本地的更改到远程时,要先同步远程分支

   git checkout master

   git fetch  origin

   git   merge  origin/master

    这时,本地的master中的就拥有了远程master分支的最新的代码

14.   git push origin local_branch_name:remote_branch_name 

       提交本地分支local_branch_name作为远程remote_branch_name分支

15.   查看本地库的远程托管地址

       git remote -v

16.   查看本地分支和远程分支的对应关系

       git branch -vv