一、安装

sudo yum install git


二、常用步骤

# 初始化

git init  # 初始化

git remote add repo_name url # 添加远程仓库

git config --list  # 查看当前配

git remote -v  # 查看远程仓库


# 下拉代码

git pull repo_name master # 下拉代码

git clone http://url # 下拉代码并自动添加远程仓库origin


# 提交代码
git add .  
git commit -a # -m

git commit --allow-empty -m "Empty"    # 提交一个空提交,可以用于在新建分支后的首次提交

git push repo_name master              # 上传代码


# 创建分支

git branch branch_name exist_branch_name  # 创建分支

git checkout branch_name                  # 切换分支,令【head】指向【branch_name】

git checkout -b branch_name               # 创建并切换分支

git branch -m old_branch_name new_branch_name  # 重命名本地分支

git branch -d branch_name               # 删除本地分支

git push origin :branch_name            # 删除远程分支


# 打标签

git tag tag_name commit_id(前十位)        # 在本地打标签

git tag                                   # 查看本地标签

git show tag_name                         # 查看具体标签

git push origin tag_name                  # 将本地指定标签push到远端

git push origin --tags                    # 将本地标签push到远端


# 合并分支

git merge branch_name                     # 合并branch_name分支到当前分支

git merge branch_name --no-ff             # 通常加--no-ff后缀


# 隐藏临时修改,通常在切换branch过程中使用

git stash             # 隐藏临时修改,切换branch之前使用

git stash pop         # 恢复/弹出临时修改,在切换branch之后使用


# 合并多次提交

# 注意,rebase不要处理远程库,只用于本地操作,这样比较安全

http://zerodie.github.io/blog/2012/01/19/git-rebase-i/

http://www.cnblogs.com/wujianlundao/archive/2012/07/30/2615873.html

git rebase -i previous_commit_id; 结合squash   # 修改之前的本地commit

git push origin branch_name --force            # 修改已经推送的远程commit,在修改后强制推送


# 修改本地commit message

git commit --amend                       # 修改最近一次commit

git rebase -i previous_commit_id; 结合reword      # 修改之前的commit


参考

http://www.chenyudong.com/slide/git/#/

http://rogerdudler.github.io/git-guide/index.zh.html

http://yijiebuyi.com/blog/007269d04d5096d9397ce3daf9d84c48.html