Git常用操作命令

常用提交代码操作:
(1) git pull 获取远程库数据
     git pull [远程库] [分支] 获取指定远程库数据
(2) git add . 添加所有至缓存
     git add --all 添加所有至缓存
     git add [目录/文件名] 添加部分文件或目录至缓存
(3) git commit -m "原因" 提交至本地仓库
    (2、3)步骤等于 git commit -am "原因"
(4) git push [远程库] [分支] 推送
     如:git push origin 分支名
(5) git status 查看项目的当前状态
     git status -s 简洁的查看项目的当前状态
(6) git diff 查看尚未添加到缓存区的改动(未使用git add)
      git diff --cached 查看已添加到缓存区的改动(已使用git add)
      git diff HEAD 等于上面两个的和(已缓存+未缓存的改动)
      git diff --stat 显示摘要而非具体改动信息
(7) git reset HEAD 使用git add后,不想提交了要撤回add操作,使用这个命令撤回所有文件
      git reset [目录/文件名] 撤回指定目录或文件
      git reset --hard [CommitID] commit后撤回(CommitID可以使用git log查看)
(8) git rm [目录/文件名] 要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除,然后提交(删除本地和远程的文件+删除跟踪)
      git rm -f [目录/文件名] 如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项
      git rm --cached [目录/文件名] 如果把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除(删除远程未见+删除跟踪)
(9) git mv [目录/文件名] [目录/文件名] 移动或重命名文件或目录
(10)git log 查看日志
      git log --oneline 简洁的查看日志

其它常用操作:
(1) git init 将当前目录初始化为git仓库
     git init [目录] 将指定目录初始化为git仓库
(2) git clone [远程库] 克隆远程仓库到当前目录
      git clone [远程库] [目录] 克隆远程仓库到指定目录
(3) git branch 查看本地分支
     git branch --all 列出所有分支(包括远程分支)
     git branch -r 列出远程分支
     git branch -r --all 列出所有分支(好像和git branch --all一样的)
     git branch [分支名] 创建分支
(4)git checkout [分支名] 切换分支
      git checkout -b [分支名] 创建分支再切换至指定分支
(5) git merge [分支名] 分支合并(将其他分支中的内容合并到当前分支中)
(6) git branch -d [分支名] 删除分支
(7) git tag 查看标签
     git tag -a [标签] 添加标签
     git tag -d [标签] 删除标签
     git tag -r 查看远程标签
(8) git remote 查看当前所有远程库别名
     git remote -v 查看当前所有远程库别名别名的实际链接地址
     git remote add [远程库] [地址] 添加远程库
     git remote rm [远程库] 删除远程库
     git remote set-url --push [远程库] [新地址] 修改远程仓库
(9) git fetch [远程库] [分支] 从远程指定仓库的指定分支下载代码到本地[分支]
     git fetch [远程库] [分支]:[新分支] 从远程指定仓库的指定分支下载代码到本地[新分支]
注:使用fetch后,需要使用git merge合并代码,git fetch + git merge结果等效于git pull,但原理不一样
(10)git revert [CommitID] 使用push推送代码后,可以使用git revert撤回(CommitID可以使用git log查看)


忽略一些文件、文件夹不提交:
在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如
target
bin
*.db


如果推送失败(服务端拒绝接受push),在服务端的.git/config中添加
[receive]

denyCurrentBranch = ignore

 

原文地址:https://www.cnblogs.com/xhhgo/p/10912630.html