美文网首页
git分支管理与代码同步 — cmd line

git分支管理与代码同步 — cmd line

作者: 波罗的海de夏天 | 来源:发表于2020-04-21 09:46 被阅读0次

    一、.gitignore(过滤文件)

    常用的忽略文件/文件夹命令:

    1. # 表示一行注释;
    2. *.a 表示要忽略所有以a结尾的文件;
    3. !bb.a 表示bb.a文件不忽略;
    4. /todo_dir 表示项目根目录下的todo_dir文件,不包含mydir/todo_dir;
    5. build/ 表示build文件夹下的所有文件,过滤掉整个build文件夹;
    6. doc/*.txt 表示忽略doc文件夹下的txt文件,不包含子文件夹下的txt文件(如:doc/docker/aaa.txt);
    7. **/foo 忽略匹配路径条件的文件,如 /foo、aa/foo、 aa/bb/foo等;
    8. a/**/b 忽略匹配路径条件的文件,如 a/b、a/c/b、a/c/d/b等;

    规则说明:

    • / 表示目录;
    • * 通配多个字符;
    • ? 通配单个字符;
    • [] 包含单个字符的通配列表;
    • ! 表示不忽略匹配到的文件;
    • ** 匹配多级目录;

    备注: .gitignore配置文件按行从上到下进行规则匹配;

    参考文档: https://www.jianshu.com/p/74bd0ceb6182

    示例:

    .idea
    *.log
    *.zip
    *.DS_Store
    test/tmp/*
    

    二、配置SSH

    1. 设置或修改用户名及邮箱:
    git config --global user.name 'xxxxx' // username
    git config --global user.email 'xxxx@xxx.com' // email
    
    1. SSH配置
    • 打开git bash,使用cd ~.ssh,查看是否已配置SSH;
    • 确认是否生成过SSH-key id_rsa(私钥文件)id_rsa.pub(公钥文件);
    • 查看公钥的命令:cat ~/.ssh/id_rsa.pub
    • SSH-key文件可以直接使用,也可以删除后重新生成;
    • 生成SSH-key钥命令:ssh-keygen -t rsa -C 'gaox0802@126.com'
    1. 将SSH-key配置到github/gitlab中。

    三、Create Registory

    1. github/gitlab上创建远程仓库;
    2. 远程仓库同步到本地 git clone git@github.com:username/test.git
    3. 也可以创建本地仓库,再推到远程;
    echo "# test" >> README.md
    git init
    git add README.md
    git commit -m "first commit"
    git remote add origin git@github.com:username/test.git
    git push -u origin master
    
    1. 本地仓库无法推到远程上的问题
    git remote rm origin
    git remote add origin git@github.com:username/test.git
    git push -u origin master
    
    1. ssh: connect to host github.com port 22: Operation timed out问题
    • 端口443测试: ssh -T -p 443 git@ssh.github.com
    • 创建配置文件:/Users/hope/.ssh/config,代码如下:
    Host github.com /*服务器地址为github地址*/
    User "XXX@XX.com" /*github上的注册邮箱为用户账号*/
    Hostname ssh.github.com /*服务器地址为github地址*/
    PreferredAuthentications publickey /*采用公匙*/
    IdentityFile ~/.ssh/id_rsa /*公匙文件路径*/
    Port 443 /*修改端口为443*/
    

    四、分支管理cmd

    1. 查看分支:
    # 查看本地
    git branch
    # 查看本地和远程
    git branch -a
    
    1. 新建分支:git checkout -b branch-1 // 创建并切换
    2. 检出远程分支:git checkout -b 本地分支名 origin/远程分支名
    3. 分支切换:git checkout branch-1 // 单纯切换
    4. 分支合并:git merge branch-2 // branch-2合并至当前所在分支
    5. 分支提交:git push --set-upstream origin branch-1 or git push -u origin branch-1
    6. 分支删除:
    # 删除本地分支
    git branch -d branch-4
    # 删除远程分支
    git push --delete branch-4
    

    五、同步代码cmd

    # 查看状态
    git status
    # 暂存
    git add .
    # 提交本地仓库
    git commit -m 'code info'
    # 推送远程
    git push
    # 拉取本地仓库
    git fetch
    # 拉取本地仓库并merge到本地。相当于:git fetch + git merge
    git pull
    

    六、git日志

    # 提交日志(操作记录)
    git log
    git log -p -2 // 最近两次提交记录
    git log --stat
    git log --pretty=oneline
    git reflog // 提交记录
    
    # 回退
    git reset --hard HEAD  // 回退到上一版
    git reset --hard HEAD^n  // 回退到上n版
    git reset --hard HEAD^^^^  // 回退到上X版
    git reset --hard commit_id // 回退到指定版本
    

    七、文件暂存

    # 文件暂存
    git stash // 存
    git stash list // 暂存区
    git stash pop // 取
    git stash clear // 删
    git stash apply stash@{1} // 取某一条
    

    八、创建标记 tag

    # 添加 tag
    git tag -a V1 -m 'my version 1'
    # 提交远程
    git push origin V1
    # 查看 tag
    git tag
    git tag -l 'v*' // 正则
    git show v1
    # 删除 tag
    git tag -d v1  // 本地
    git push origin :refs/tags/V1 // 远程
    

    九、比较

    git diff
    # 工作目录与本地仓库
    git diff HEAD test_file
    # 通过log_id比较
    git diff commit_id_1 commit_id_2
    

    十、图形化工具

    1. Source Tree
    2. Pycharm git
    3. Xcode git

    十一、tig -- git命令行可视化

    安装: brew install tig

    参考文档:https://www.jianshu.com/p/d9f60c0abbf7

    十二、配置终端工具

    iTerm2 + Oh My Zsh -- 打造舒适终端体验;
    参考文档:https://www.jianshu.com/p/9c3439cc3bdb

    相关文章

      网友评论

          本文标题:git分支管理与代码同步 — cmd line

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