写给大忙人看的Git案例总结
   2 分钟阅读    邵晨峰

写给大忙人看的Git案例总结

全部案例

配置git用户名邮件

单纯的下载一个仓库

将远程仓库的更新拉到本地仓库(不影响本地已有的提交)

将本地修改上传到远程仓库

将本地更改上传到远程仓库,并使本地远程一致

新建一个仓库并用本地代码初始化

我不想同步某些文件/文件夹

从master创建临时分支作修改,然后合并到主分支

删除仓库所有历史记录,仅保留当前文件

修改前n次commit的提交信息

配置git用户名邮件

git config --global user.name "Your Name"  
git config --global user.email "email@example.com"

单纯的下载一个仓库

最常用的方法

git clone https://github.com/xxx/xxx.git

项目太大,想快点下载,不需要历史记录

git clone --depth 1 https://github.com/xxx/xxx.git

想快速下载非master分支

git clone --depth 1 https://github.com/xxx/xxx.git
cd xxx
git remote set-branches origin 'remote_branch_name'
git fetch --depth 1 origin remote_branch_name
git checkout remote_branch_name

将远程仓库的更新拉到本地仓库(不影响本地已有的提交)

git pull origin master

将本地修改上传到远程仓库

git add .
git commit -m "提交说明"
git push origin master

将本地更改上传到远程仓库,并使本地远程一致

git add .
git commit -m "提交说明"
git pull origin master
git push origin master

新建一个仓库并用本地代码初始化

首先到github或其他git网站上创建一个新仓库,获得新仓库地址,类似于 https://github.com/xxx/xxx.git

git init
git add -A
git commit -m "初始化代码"
git remote add origin https://github.com/xxx/xxx.git
git push -u origin master

我不想同步某些文件/文件夹

在仓库的根目录下新建 .gitignore 文件
其中写上要忽略的内容,支持文件、文件夹、通配符

target/
.idea/
*.log
somefile.txt

从master创建临时分支作修改,然后合并到主分支

  1. 创建临时分支
git checkout master
git pull origin master
git checkout -b tmp
git push origin tmp # 在远程也创建临时分支
git branch --set-upstream-to=origin/tmp
git pull origin tmp
  1. 用你喜欢的方式作修改代码,在此过程中可以提交代码
git add .
git commit -m "提交说明"
git push origin tmp
  1. 最后合并分支tmp到master,然后删除tmp
git checkout master
git merge tmp
git push origin master
git branch -d tmp
git push origin --delete tmp

删除仓库所有历史记录,仅保留当前文件

git checkout --orphan lastest # 从0新建分支
git add -A # 添加所有当前文件到分支
git commit -m "init信息"
git branch -D master # 删除master分支
git branch -m master # 重命名当前分支为master
git push -f origin master # 强制提交到远程

修改前n次commit的提交信息

git rebase -i HEAD~n # 这里查看最近n次commit提交信息
# 然后进入编辑模式,将需要修改的commit那一行的pick修改为edit,保存退出
git commit --amend # 这会进入上面修改对应的commit提交信息
git rebase --continue # 回到正常状态