git常用命令

2017-04-22  本文已影响10人  hament

git的基本设置

首先我们对 Git 进行用户名和邮箱进行设置,请参照下面格式,替换为你自己常用的用户名和邮箱来完成设置:

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

解释: --global 选项代表对 Git 进行全局设置。

接下来设置 Git 推送分支时相关配置:

git config --global push.default simple

从远程仓库clone(下载)项目

git clone http://172.28.160.251/hament/gtest.git

执行命令后会一般会提示输入账号和密码

然后模拟修改

cd gtest 
touch README.md    //创建一个文件
git add README.md    //把文件纳入版本管理
git commit -m "add README"  // 提交修改
git push -u origin master   // 推送到 远程服务器的主分支(master)

创建本地仓库

  1. 先切换到某个目录
git init 
  1. 把文件纳入管理
$ git add -A //保存到暂存区
  1. 提交
git commit -m "提交描述"
  1. 查看日志
git log

如果想查看某次commit的信息, 则在命令后加上 commit版本号

  1. 添加远程仓库并推送
$ git remote add origin git@github.com:your_username/hello_laravel.git //以github为例
$ git push -u origin master

创建分支

git checkout master //切换到基于哪个分支创建
git checkout -b sign-up // 建立名为sign-up的分支

git checkout -b sign-up master

删除分支

$ git branch -d 分支名称

合并分支

git checkout master //目标分支
git merge sign-up // 选择被合并的分支

分支合并完通常会有文件冲突,需要手动挨个解决冲突文件,然后重新把冲突文件纳入版本管理并提交

#解决冲突文件后需要重新纳入版本管理
git add a.txt 
git add b.txt
git commit -m "冲突解决"
git push 

分支对比

git diff branchA branchB
git diff branchA branchB  > d:/diff/exportname.diff //输出日志

恢复到最后一次commited

git checkout -f

把任意一次/多次的commit作用到当前分支上

该功能可以解决跨分支局部文件合并/修改

应用场景: 如果你的应用已经发布了一个版本2.0, 代码分支叫release-2.0, 现在正在开发3.0, 代码的分支叫dev-3.0. 那么有一天产品说, 要把正在开发的某个特性提前上线, 也就是说要把dev-3.0分支上的某些更改移到2.x的版本上

基于release-2.0分支新建分支release-2.1, 并且到新创建的分支上

git checkout -b release-2.1 release-2.0

将dev-3.0分支上的某些commit在release-2.1分支上重演

git cherry-pick dev-3.0分支的某些commit-hash

如:

git cherry-pick  
20c2f506d789bb9f041050dc2c1e954fa3fb6910 
2633961a16b0dda7b767b9264662223a2874dfa9 
5d5929eafd1b03fd4e7b6aa15a6c571fbcb3ceb4

多个commit-hash使用空格分割, commit-hash最好按提交时间先后排列, 即最先提交的commit放在前面.

上一篇 下一篇

猜你喜欢

热点阅读