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

我的未来我决定 提交于 2020-03-17 00:50:58

全部案例

配置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
  2. 用你喜欢的方式作修改代码,在此过程中可以提交代码
    git add .
    git commit -m "提交说明"
    git push origin tmp
  3. 最后合并分支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 # 回到正常状态
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!