冷笑几声丶离去吧 关注:8贴子:504
  • 10回复贴,共1

【Git】记录点繁琐的知识点

取消只看楼主收藏回复



IP属地:北京1楼2017-01-17 14:52回复
    mkdir xxx 创建某个目录
    cd xxx 进入某个目录
    pwd 显示当前绝对目录
    git init 把当前目录创建为一个代码仓库
    git add filename 在该目录下的代码仓库添加文件到暂存区
    git commit -m "说明文字" 把暂存区的的提交到代码库
    add命令可以一次提交很多东西
    如:
    git add file1 file2
    也可以使用通配符,添加该目录下所有的文件
    git add .


    IP属地:北京2楼2017-01-18 10:13
    回复
      git status 显示出该代码仓库的状态。比如有没有改动之类的。
      git diff (filename(可选)) 显示出当前文件与代码仓库的文件有什么不同


      IP属地:北京3楼2017-01-18 10:19
      回复
        git log 查看当前版本库的版本记录(尚存的)
        然后每个版本记录有一长串十六进制的数字,是指commit id(版本号)
        git用HEAD来表示当前版本。
        上一个版本是HEAD^ 上上个是HEAD^^
        可以无限的加“^”,但是比较麻烦。
        可以用~num来代替。
        比如 HEAD^^ == HEAD~2
        git reset 可以退回以前的版本
        如: git reset --hard HEAD^ 退回前一个版本
        也可以是 git reset --hard commit_id 回退(进)到指定的id的版本(上文回退不仅仅更改的代码区的版本,也修改了工作区的版本)
        还可以用 git reflog 查看所有的历史版本记录。


        IP属地:北京4楼2017-01-18 10:27
        回复
          git 分为三个区域 工作区 版本库(分成两小部分:暂存区 代码区)


          IP属地:北京5楼2017-01-18 10:29
          回复
            用git diff HEAD -- xxx文件 命令可以查看工作区和版本库里面最新版本的区别。
            命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
            一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
            一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
            总之,就是让这个文件回到最近一次git commit或git add时的状态。
            git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区


            IP属地:北京6楼2017-01-18 10:33
            回复
              用 rm file 删除某个文件
              1 确实要删除某个文件
              用 git rm 删除代码库中的文件
              然后 git commit 提交这个删除后的结果
              2 不小心误删除了
              用 git check -- fillename 恢复某个指定的文件(--还是很重要的,没有的话,就意思是选择分支)


              IP属地:北京7楼2017-01-18 10:38
              回复
                可以把 GitHub上的某个代码库和本地的某个代码库相互关联,也可以把GitHub上的某个代码库clone到本地。
                要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
                //如何理解上面那句话: git remote add(其实就是add,多了个修饰语) origin git@server-name:path/repo-name.git 后面可以理解为某个名字
                关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
                此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改。


                IP属地:北京8楼2017-01-18 10:42
                回复
                  git clone git@github.com:username/filename.git
                  在当前目录下,克隆出来一个代码库。


                  IP属地:北京9楼2017-01-18 10:44
                  回复
                    查看分支:git branch
                    创建分支:git branch <name>
                    切换分支:git checkout <name>
                    创建+切换分支:git checkout -b <name>
                    合并某分支到当前分支:git merge <name>
                    删除分支:git branch -d <name>
                    当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
                    用git log --graph命令可以看到分支合并图。


                    IP属地:北京10楼2017-01-18 11:17
                    回复
                      剩下的都是团队协作级别的git使用的。我就不往上贴了。


                      IP属地:北京11楼2017-01-18 11:29
                      回复