Git操作基本命令

2016-10-27 阅读(4518)

分支开发原则:

如果本地dev分支有修改,则需要先切换到master分支,把本地分支的修改merge回master(Git merge dev),然后在master上把合并后的内容push到master上;然后再切换回本地分支,再把master的内容merge回分支,然后就继续在分支开发。


开发流程:

// 查看本地分支

git branch

// 显示本地、服务器所有分支

git branch -a

// 显示本地分支和服务器分支的映射关系

git branch -vv


// 切换分支(和创建分支就差一个-b参数)

git checkout {{branch_name}}

 // 创建新分支,新分支的代码来自于当前分支

git checkout -b  [分支名] 

// push本地分支代码到远端服务器,如果远端服务器没有该分支,将会自动创建;

git push origin [远端分支名]


// pull远端分支代码到本地当前分支(建议使用)

git pull origin master

如果只想用git pull,可能需要建立track关系,则使用
git branch  --set-upstream-to=origin/<远端branch_name> <本地branch_name>
输出结果:Branch h5_dev set up to track remote branch h5_dev from origin. 


// 合并本地master分支到当前分支,比如当前处于dev分支,则把master上的代码merge到dev分支上

git merge master

// 合并远程master分支到当前分支

git merge origin/master


// 删除本地分支

git checkout {{another_branch}}

git branch -d {{local_branch_name}}

//删除远程分支

git push origin --delete {{branch_name}}



# 假设本地有两个分支: master和dev, 使用dev进行本地开发# Step1. dev.commitgit status  # 当前分支,修改的文件git diff    # 具体的修改git commit -m "{COMMIT_MESSAGE}" .  # 提交# Step2. master.update.merge-devgit checkout master # 切换到master分支git pull origin master:master   # 更新mastergit merge dev   # 合并dev分支的修改git push origin master:master   # 提交代码到远程Git库# Step3. dev.updategit pull origin master:dev  # 更新devgit checkout dev    # 切换回dev, 以便下一步的开发



常用命令:

  1. git config --global user.name

  2. git config --global color.status auto

  3. git config --global color.diff auto

  4. git remote -v// 查看远程分支的git路径

  5. git clone git@192.168.53.123/tv.git

  6. git status  // 查看当前版本的状态(是否修改)

  7. git add xyz  // 添加当前修改的文件到暂存区 or 跟踪新文件(git add .把所有修改的文件add在暂存区)

  8. git commit -m '{{update_msg}}'

  9. git rm xxx  // 从当前跟踪列表移除文件,并完全删除

  10. git rm -cached xxx// 仅在暂存区删除,保留文件在当前目录,不再跟踪

  11. git mv old_name new_name// 重命名文件

  12. git log

  13. git log -n

  14. git log --stat

  15. git show b4f44fe

  16. git diff

强制回滚命令:

git reset --hard e1da2c37bdaf3df52b9cf105ec7a7bd83f488bc1(上一次提交的号)


把远程分支拉倒本地,并建立关联关系track:

git checkout --track origin/jiangbo_dev
Branch jiangbo_dev set up to track remote branch jiangbo_dev from origin.

Switched  to a new branch 'jiangbo_dev'