Git 不常用命令

67 阅读1分钟

版本控制工具Git

Git是重要的版本控制工具,这里列一些平常比较少用的Git语法, 作为备忘录。

1. Commit之后重新修改Commit Message的内容

    $ git commit --amend -m "the new message" 

2. 丢弃还未commit的本地修改

    $ git checkout -f 

3. git查看分支图表

    $ git log --graph

4. 合并分支git rebase与git merge

    $ git rebase dev        //将dev分支合并到当前分支,并且删除dev分支,确保只有一条分支流
    $ git merge --no-ff dev //将dev分支合并到当前分支(不使用fast-forward方式), 将多分支在流图里都展现
    $ git merge dev         //将dev分支合并到当前分支(使用fast-forward方式), 如果更新了新分支后,原分支没有改动,则修改会合入原分支, 同rebase效果一样。

这里可以绘制图表比较三者关系,参考下面的文档,写的很清楚。

5. git删除本地和远程分支

远程分支删除:

    $ git push origin --delete <branchName>

本地分支删除:

    $ git branch -d <branchName>

6. git垃圾回收机制

    $ git gc

在大的仓库中, git靠压缩历史信息来节约磁盘和内存空间,压缩操作并不是自动进行的, 你需要手动执行 git gc。压缩操作比较耗时, 你运行git gc命令最好是在你没有其它工作的时候。

7. git多行注释,打出"后即可在bash总换行

    $ git commit -a -m "
    1. update;
    2. update;
    3. update;"

8. git标签

    $ git tag v1.0.1           // 打标签
    $ git tag                  // 显示所有标签
    $ git checkout tag         // 切换到某个标签
    $ git tag -d v1.0.1        // 删除本地tag
    $ git push origin :v1.0.1  // 删除远程tag

8. .gitignore 失效

由于gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。 要解决这个问题,需要先把本地缓存删除(改变成未track状态),然后再提交。

    $ git rm -r --cached .
    $ git add .
    $ git commit -m 'commit log info'

参考文档