git 基本命令详细解释

创建: 2017-04-05 17:04:03

        2017-04-24
更新: 2017-05-16
更新: 2017-06-27  完善git remote add 
更新: 2017-07-04  完善git pull origin master这种pull其他分支的
                             创建时间改为创建
                             增加commit与issue关联
                             删除远程仓库,push到其他远程仓库的分支(已有,加粗)
更新: 2017-09-02  增加rebase, 并且增加取消的说明(git rebase branch-name --abort)
更新: 2017-09-05  增加git reset 详细说明 http://blog.csdn.net/hudashi/article/details/7664464/
更新: 2017-10-28  增加git clean, git reflog show
更新: 2017-11-20  增加git commit --amend
更新: 2017-11-21  增加git rebase -i HEAD~2
更新: 2018-01-22 增加重命名本地分支 git branch (-m | -M) [<oldbranch>] <newbranch>
                          增加切换追踪的分支 git branch -u remote-name/branch-name
更新: 2019-02-12 补充 切换追踪的远程分支 的说明与例子
更新: 2019/03/18 补充git branch的option --all --remote
更新: 2019/05/18 补充切换跟踪分支的例
 
命令 含义 注释 
     
     
 git config ...   设置本地变量  
 git config --global ... 设置全局变量  
 git config --global --list  查看全局变量  --list = -l
 git config --list  查看所有变量  
     
     
     
     
 git clone [url] 克隆已有仓库 git clone [url] abc  abc为 别名(本地文件名)
 git add  追踪新文件或者把已修改文件暂存                                   
 git commit  将暂存文件提交到本地仓库(repository)  -a自动add,跳过上一步
 -m "..."直接添加信息
 关联issue 信息里面增加#issue编号
 修改最新commit git commit --amend
 git diff  查询变化  different;-staged显示已暂存的
 git status  查询文件状态(修改,暂存)  -s 或者--short后为通用简写
 git rm  删除文件并从暂存区也删除文件  -f 不知道什么用处,测试后没区别
 \*~  所有以~结尾的文件(后缀) \*后接的是后缀
 \*.log  所有以.log结尾的文件 \*后接的是后缀
 git mv file_from file_to  给文件改名并应用于git 相当于mv + git rm + git add
 git log   查看commit(提交)历史  -p 显示差异 -n 列出最近n次
 git reset HEAD  取消暂存的文件 尽量不要附加选项,危险
 git checkout --  撤销对文件的修改  尽量不用,老文件会直接覆盖新文件!不可撤销
     
git remote  查看已连接的远程仓库  -v 附加远程仓库地址
show [remote-name] 显示某一远程分支详情
 git remote rename          
 git remote add 别称 网址   新增远程仓库  git remote add origin ...
 git remote remove 别称 网址   删除远程仓库  
 git push origin :br-name   删除远程分支  git push -d origin test
 git push --delete origin test
 git push origin :test三个等价
 git push [] [] [tag-name]  提交标签  --tags 提交所有标签
 git push [remote-name] [branch-name]  将本地仓库推送到远程仓库  后两个默认origin和master
 git fetch [remote-name]  从远程仓库拉取(更新) 并不会合并到本地仓库,需要手动
git merge  branch name  合并fetch抓取到的信息到本地分支  
 git rebase branch-name  合并fetch抓取到的信息到本地分支   合并commit git rebase branch-name -i HEAD~(前几次)

  取消 git rebase --abort

  git rebase -i HEAD~2  合并commit
     
     
 git pull  从远程仓库拉取并合并本地分支  拉取其他分支
 git pull origin master
     
 git tag  显示所有标签  
 git tag  -l  ""/''/  检索标签  "v1*" = 'v1*' = v1*
 git tag -a  [tag-name] 创建附注标签  
 git tag [tag-name] 创建轻量标枪   
     
 git branch  显示当前所有分支

 -v 显示所有分支最后一次提交
--merged 显示已合并分支,都可删除
--no-merged 显示未合并分支,不可删除。强制删除用-D
--v 查看所有本地分支分别跟踪的分支等情况

1 -r (--remote) 显示远程分支

 

1 -a (--all) 显示全部分支(local+remote)

 

 

 git branch [bran-name]  创建新分支  -d 删除分支
 git branch (-m | -M) [<oldbranch>] <newbranch>  重命名本地分支  
 git branch -u remote-name/branch-name

 切换追踪的远程分支

 (push等操作的远程对象)

 

git branch -u origin/new_branch

 

git branch -u origin/feature/hide_public_confirmation

  

 git checkout [bran-name]  移动HEAD到当前所在分支。切换分支  *指向当前所在分支
 git checkout -b [bran-name]  创建新分支并切换过去  git branch [bran-name]
 git checkout [bran-name]
 git checkout -b [branch-name] [remote-name]/[branch-name]  下拉并跟踪远程分支  git  checkout --track [remote-name]/[branch-name]  简化写法
     
     
     
 git merge [bran-name] 将指定分支合并到当前分支   
     
 git reset --hard [num] 回滚到序列号所指的版本   [num]在这里指版本号
 git cherry-pick [num]  将其他分支的commit复制一份到当前分支  [num]在这里指版本号
     
 git clean -n/-f/-d  删除没有 git add 的 文件  -n 显示将要删除的文件和目录

  -f 删除文件

 -d 删除目录

 git reflog show   显示所有commit  
     

 

posted @ 2017-04-05 17:04  懒虫哥哥  阅读(190)  评论(0编辑  收藏  举报