Git常用命令

一些常用的Git命令。

1.与Svn命令对比

场景 Svn Git
下载代码 svn checkout git clone
加入版本控制 svn add git add
本地提交 git commit
提交到服务器 svn commit git push
获取其他人的更新 svn update git fetch/pull[fetch不会自动merge,pull自动merge]
查看状态 svn status / log / diff git status / log / diff
新建本地分支 git branch
切换分支/版本 svn switch git checkout
合并分支 svn merge git merge/rebase

2.git add忽略特定文件:

vim .gitignore
*.pyc
*.pyo
*.log
*.out
*.bak
*.tmp
*.gz
*.tar
*~
*.swp
.DS_Store
core.*
output
log
output
._*
.vscode
.idea

3.设置单次提交文件最大大小:

git config --global http.postBuffer 1048576000    #1G

4.github上传>100M文件的方法:

1.安装git-lfs    # https://git-lfs.github.com/
  brew install git-lfs   
  或从官网下载安装包,并执行./install.sh
2.设置git-lfs
  git lfs install
  git lfs track "*.tgz"     or     vim .gitattributes
  git add .gitattributes   #.gitattributes中配置的*.tgz文件会自动上传到gitlfs
3.按平时的git操作即可
  git add yourLargeFile.tgz
  git commit -m "Add Large file"
  git push -u origin master
  # Uploading LFS objects: 100% (1/1), 114 MB | 0 B/s, done  

5.丢弃本地提交,强制回到线上最新版本

git fetch --all
git reset --hard origin 需要下拉的分支(默认master)
git fetch

6.确保不push带自动merge的提交,保持评审历史线性

git log --pretty=oneline --decorate --graph  #找到merge节点
git reset 833011(merge节点之前的commitid)
git add .
git commit -m "xxx"
git push

7.将其他分支的commit合并到当前分支

# 切换到目标分支
git checkout RB_1-0-1
# 将其他分支的commit内容同步到当前分支中
git cherry-pick <commitId>
# 查看通过过来的commit内容
git diff

欢迎关注下方“非著名资深码农“公众号进行交流~

发表评论

邮箱地址不会被公开。