美文网首页
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

    一、.gitignore(过滤文件) 常用的忽略文件/文件夹命令: # 表示一行注释; *.a 表示要忽略所有以a...

  • 中型App开发框架总结

    开发流程总图 代码开发阶段  GitLab:代码管理服务。git分支规范 MockServer:前端/后台同步开发...

  • 详解git pull命令和使用过程中遇到的常见问题

    使用git pull同步远程代码 使用git管理测试相关代码时,因为测试代码本身量级不大,所以很少使用分支,默认都...

  • 开发必备GIT手册

    什么是GIT 版本管理 分支管理 代码审查 同步协作 GIT基本操作 项目初始化 项目签名 暂存标记 提交暂存 版...

  • GIT分支管理

    GIT 分支管理 参考:在阿里,我们如何管理代码分支?GitHub Flow & Git Flow 基于Git...

  • 常用Git指令

    Git 1、Git 管理代码,保证代码版本迭代连续性,即:向A分支merge或者push代码时,A分支代码必须是当...

  • git基础(三)-创建与合并分支

    本文为利用Git创建与合并分支测试记录。CSDN同步发布1、创建与合并分支命令如下: 查看分支:git branc...

  • Git多仓库同步全部分支代码

    将一个git远程仓库的所有分支代码同步到另外一个git仓库。

  • GIT操作

    同步数据:git pull origin 分支名 切换分支:git checkout 分支名 查看分支:git b...

  • github常规操作

    从命令行创建一个新的仓库: 跟主支保持同步 git分支开发,分支(feature)同步主干(master)代码,以...

网友评论

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

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