全部案例
配置 Git 用户名邮件
单纯的下载一个仓库
将远程仓库的更新拉到本地仓库 (不影响本地已有的提交)
将本地修改上传到远程仓库
将本地更改上传到远程仓库, 并使本地远程一致
新建一个仓库并用本地代码初始化
我不想同步某些文件 / 文件夹
从 master 创建临时分支作修改, 然后合并到主分支
删除仓库所有历史记录, 仅保留当前文件
修改前 n 次 commit 的提交信息
配置 Git 用户名邮件
- Git config --global user.name "Your Name"
- Git config --global user.email "[email protected]"
单纯的下载一个仓库
最常用的方法
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 创建临时分支作修改, 然后合并到主分支
创建临时分支
- 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
用你喜欢的方式作修改代码, 在此过程中可以提交代码
- Git add .
- Git commit -m "提交说明"
- Git push origin tmp
最后合并分支 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 # 回到正常状态
来源: http://www.bubuko.com/infodetail-3465136.html