git常用命令(日常开发经常用到的)

  • git helper -a# 查看全部git子命令
  • git -version# 查看git版本
  • git checkout -b "新建分支名"# 创建一个分支并切换到新创建的分支
  • git branch "新建分支名"# 创建分支
  • git branch# 查看本地所有分支
  • git branch -r# 查看远程所有分支
  • git branch -a# 查看本地和远程分支
  • git branch -d "某分支名"# 删除某分支
  • git checkout "某分支名"# 切换到某分支
  • git switch "某分支名"# 切换到某分支
  • git status# 查看状态
  • git add "文件名"# 将某个文件存入暂存区
  • git add .# 将所有文件存入暂存区
  • git commit -m "备注信息"# 提交到仓库
  • git diff# 查看变更 工作区和暂存区的差别比对
  • git push <远程主机名><本地分支>:<远程分支># 完整写法
  • git push origin master# 将本地的master分支推送到远程的master分支,如果master不存在 则会创建master分支
  • git push <新建分支名># 将新建分支推送到远程分支
  • git push origin :master# 如果忽略本地分支,则推送了一个空分支,相当于删除了分支。# 等同于git push origin --delete <要被删除的分支名>
  • git push# 将本地分支推送到远程分支,如果当前分支和远程分支之间存在追踪关系,则本地分支和远程分支都可以省略
  • git push origin --delete <要删除的分支名># 删除远程分支
  • git fetch origin master# 将远程分支下拉到本地
  • git pull <远程分支地址>  <远程分支名>:<本地分支名># 完整写法# 例如,git pull origin next : master .将远程分支与next分支合并。
  • git pull origin master# 获取远程分支,并于当前分支合并
  • git fetch origin master# 获取远程分支master到本地,不合并
  • git clone "远程地址"# 将远程分支克隆到本地
  • git merge "分支名"# 把现有分支合并到分支上
  • git reset HEAD file# 文件 add后,撤销修改
  • git remote add origin git项目地址# 本地仓库和远程仓库建立连接
  • git remote -v# 查看远程关联的地址
  • git remote remove origin# 移除远程关联
  • $ git add *Controller   // 将以Controller结尾的文件的所有修改添加到暂存区
    $ git add Hello*   // 将所有以Hello开头的文件的修改添加到暂存区 例如:HelloWorld.txt,Hello.java,HelloGit.txt ...
    $ git add Hello?   // 将以Hello开头后面只有一位的文件的修改提交到暂存区 例如:Hello1.txt,HelloA.java 如果是HelloGit.txt或者Hello.java是不会被添加的
    可以多次添加然后在提交
    $ git commit -m "comment"  // 将暂存区的修改提交到仓库 后面添加上有意义的注视信息
    $ git diff  file  // 在file被修改了还未提交的时候查看修改的部分(和版本库中最新版本的不同 diff == difference 不同)
    $ git log  // 查看git的commit信息,每次提交的信息包括注视在内,从最新提交到最久提交
    $ git log --pretty=oneline   // 将commit 信息简化成一行显示
    注意Git的版本号(commit id)是SHA1值ea34578d5496d7dd233c827ed32a8cd576c5ee85
    $ git reset --hard HEAD^   // 退回到相对于当前版本的上一个版本 HEAD 表示当前版本
    $ git reset --hard HEAD^^  // 退回到相对于当前版本的上上一个版本  HEAD 代表当前版本
    $ git reset --hard HEAD~100 //退回到相对于当前版本的上 100 个版本去  HEAD 表示当前版本
    $ git reset --hard 3628164  // 退回到指定的版本   这里不需要全部写commit id  Git 回去自动适配
    Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是把HEAD从指向append GPL
    $ git reflog   // 在退回到旧版本之后可以查看旧版本之前的提交日志
    当我们想从一个旧版本退回到新版本但是我们关闭了shell窗口,不能查看之前的commit id了,就可以通过
    $ git reflog 查看到之前的版本的commit id
    $ git reset --hard 3628164
    $ git checkout --file  // 表示丢弃工作区的修改退回原始状态(不包括以及添加到暂存区的修改)
    file已经修改和添加到了暂存区,还未commit
    $ git reset HEAD file   // 丢弃file已经添加到暂存区的修改  HEAD 表示最新版本
     

添加远程库
做全局的配置
$ git config --global user.name "zhangsan"
$ git config --global user.email "[email protected]"
$ git remote add origin [email protected]:zhangsan/ylez.git // 添加一个远程仓库
  // add origin 就是添加一个远程仓库
  // [email protected]:zhangsan/ylez.git  是远程仓库的地址
  // [email protected] 主机的地址  我们可以通过GitLab大家自己的git服务器
  // zhangsan 是你的用户名
  // /ylez.git 是你的仓库名
$ git push -u origin master  // 将本地的master分支推送到远程的master分支中
$ git push -u origin dev    // 本地切换到dev分支然后将本地的dev分支推送到远程


克隆远程仓库到本地
Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
$ git clone [email protected]:zhangsan/test.git  // 讲一个远程的仓库克隆到本地
 

你可能感兴趣的:(学习文档,git,github)