Git技巧

作者: 初心一点 | 来源:发表于2019-01-22 11:38 被阅读12次

    Git创建一个分支:

    1. 假设我现在在Develop分支上:
    git checkout -b develop_1
    

    那么通过这行命令,我就在本地新建了一个develop_1分支;


    1. 接下来,如何将该分支推送到远程:
    git push -u origin develop_1
    

    这样,其他人通过

    git fetch origin
    

    获取远程更新,就可以下载clone该条分支的代码,然后合作开发一些东西了


    1. 那么如何删除一条本地分支和其对应的远程分支了

    首先删除本地分支

    git branch -d develop_1
    

    就删除了本地的develop_1分支


    那么接下来删除其对应的远程分支:

    git push --delete origin develop_1
    

    这样就完成了


    1. 在master主干,要合并develop分支:
    git merge --no-ff -m "merge with develop" develop
    

    1. 清理远程分支,把本地不存在的远程分支删除
    git remote prune origin
    

    1. 将远程分支live_video 获取到本地 live_video
    git checkout -b live_video origin/live_video
    

    1. 在一个分支之上,进行打标签操作
    git tag v1.0
    

    即打了一个v1.0的标签.

    tag是对历史一个提交id的引用,如果理解这句话就明白了
    使用git checkout tag即可切换到指定tag,例如:

    git checkout v0.1.0
    

    切换到tag历史记录会处在分离头指针状态,这个修改是很危险的,在切换回主线时如果没有合并,之前的修改提交基本都会丢失,如果需要修改可以尝试

    git checkout -b branch tag
    

    创建一个基于指定tag的分支


    1. 推送本地分支tag到远程
    git push --tags
    

    1. 删除一个本地tag
    git tag -d v1.1
    

    1. 删除远程tag
    git push origin --delete tag V1.1
    

    1. Git忽略规则,git中忽略掉某文件不提交,可以修改.gitignore来实现,每一行都是一个忽略规则,举例:
    1. 此为注释 – 将被 Git 忽略

    2. *.sample # 忽略所有 .sample 结尾的文件
    3. !lib.sample # 但 lib.sample 除外
    4. /TODO    # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
    5. build/    # 忽略 build/ 目录下的所有文件
    6. doc/*.txt  # 忽略 doc/notes.txt 但不包括 doc/server/arch.txt

    1. .gitignore规则不生效的解决办法

    把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未被追踪状态),然后再提交

    git rm -r --cached .
    git add .
    git commit -m 'update .gitignore'
    
    1. 若A分支需要合并B分支的文件file-01,其他B分支文件不想合并到A,在A分支下执行如下命令即可
    git checkout B file-01 
    
    1. 待续......

    参考链接

    1. https://www.cnblogs.com/zhangxiaoliu/p/6008038.html
    2. https://www.cnblogs.com/xulingfeng/p/5864041.html
    3. https://edison-cool911.iteye.com/blog/2325747
    4. 学习git最佳教程,没有之一: https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
    5. http://marklodato.github.io/visual-git-guide/index-zh-cn.html
    6. https://learngitbranching.js.org/
    7. http://rogerdudler.github.io/git-guide/index.zh.html
    8. https://www.cnblogs.com/kevingrace/p/5690241.html
    9. http://www.ruanyifeng.com/blog/2012/07/git.html
    10. https://git-scm.com/book/zh/v2 (个人感觉这篇是最全的)

    相关文章

      网友评论

          本文标题:Git技巧

          本文链接:https://www.haomeiwen.com/subject/ltdljqtx.html