GIT常用命令

# 查看git版本
git version

# 从服务器上将代码给拉下来
git clone https://github.com/The-Seed/aibo.git 

# 查看当前状态
git status

# 抓取远程仓库所有分支更新并合并到本地
git pull

# 将所有修改过的工作文件提交暂存区
git add .

# 从暂存区恢复到工作文件
git reset -- .

# 添加commit信息
git commit -m "This is the message describing the commit" 

# 提交并且加注释 
git commit -am "init" 

# 将文件给推到服务器上 
git push origin master 

# 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改
git reset --hard

# 查看本地分支
git branch

# 查看远程分支
git branch -r

# 查看所有分支
git branch -a

# 创建本地分支
git branch [name]

# 切换分支
git checkout [name]

# 创建新分支并立即切换到新分支
git checkout -b [name]

# 删除分支
git branch -d [name]

# 彻底删除历史提交记录的方法, 恢复到某个版本
git reset --hard [commit_hash](某个版本会有个ID号) 本地代码切换到某个版本
git push origin HEAD --force 本地代码提交
# 同步远程仓库最新代码,本地代码丢失,注意备份(解决代码冲突)
git reset --hard origin/[name]
# 解决代码无故锁定,可以手动去GIT文件夹下面删除index.lock文件
 rm -f ./.git/index.lock
 
1、git基本命令

1)git add 将想要快照的内容写入缓存区
2)git status -s "AM" 状态的意思是,这个文件在我们将它添加到缓存之后又有改动
3)git commit -m '第一次版本提交' -m选项添加备注信息
4)git clone url 使用 git clone 拷贝一个 Git 仓库到本地
5)git diff 查看执行 git status 的结果的详细信息
  尚未缓存的改动:git diff
  查看已缓存的改动: git diff --cached
  查看已缓存的与未缓存的所有改动:git diff HEAD
  显示摘要而非整个 diff:git diff --stat
6)git commit -a 跳过git add 提交缓存的流程 
7)git reset HEAD 用于取消已缓存的内容
8)git rm file 
  git rm 会将条目从缓存区中移除。这与 git reset HEAD 将条目取消缓存是有区别的。
  "取消缓存"的意思就是将缓存区恢复为我们做出修改之前的样子。
  默认情况下,git rm file 会将文件从缓存区和你的硬盘中(工作目录)删除。
9)git mv 重命名磁盘上的文件 如 git mv README README.md

10)git push -u origin master 提交代码

2、git 分支管理
1)创建分支命令 git branch (branchname) 列出分支 git branch
2)切换分支命令 git checkout (branchname)
3)合并分支 git merge (branchname)
4)创建新分支并立即切换到该分支下 git checkout -b (branchname)
5)删除分支命令 git branch -d (branchname)
ps:状态 uu 表示冲突未解决 可以用 git add 要告诉 Git 文件冲突已经解决
3、查看日志版本
git log 命令列出历史提交记录
git log --oneline 查看历史记录的简洁的版本
git log --oneline --graph 查看历史中什么时候出现了分支、合并
4、标签
为软件发布创建标签是推荐的。这个概念早已存在,在 SVN 中也有。你可以执行如下命令创建一个叫做 1.0.0 的标签:
git tag 1.0.0 1b2e1d63ff
1b2e1d63ff 是你想要标记的提交 ID 的前 10 位字符。可以使用下列命令获取提交 ID:
git log
你也可以使用少一点的提交 ID 前几位,只要它的指向具有唯一性

5、提取远程仓库代码

1)git fetch  从远程仓库下载新分支与数据

2))git pull  从远端仓库提取数据并尝试合并到当前分支

6、git分支

git-flow主要有5中分支:master、hotfix、release、develop、feature

feature分支开始于develop分支,完成以后合并到develop分支。
当完成一定数量feature分支以后,从develop再开一个release分支出来,这些特性将被更行到下一个发布的版本中,之后的feature将不会被合并到release中。
之后在release分支中,只修改bug,然后完成release分支。完成release分支会完成以下三个操作:1、合并release分支到master;2、给master打上版本的标签;3、release回归到develop分支。
当发现master上有bug时,开一个hotfix,完成后合并到master分支。
基本的开发流程就是这样,不清楚的可以看看文档Gitflow Workflow
分支简介转载于:https://www.zhihu.com/question/21995370/answer/33172036
原文地址:https://www.cnblogs.com/mzbdadou/p/8385672.html