zoukankan      html  css  js  c++  java
  • Git安装学习记录

    1、下载:

    https://gitforwindows.org/

    2、安装:https://blog.csdn.net/chengyuqiang/article/details/54178683

    3.安装完成之后在开始菜单找到Git Bash点击弹出命令行窗口

    4、登录用户名和邮箱

    1 git config -global user.name "Your userName"
    2 git config -global user.email "xxx@163.com"

    5、创建版本库

      1.进入到计算机某个磁盘并创建文件夹存放git项目仓库(如myRepository) 

    1 $ cd D:MyInstallGithub:
    2 $ mkdir myRepository
    3 $ cd myRepository
    4 $ git init
    Initialized empty Git repository in D:MyInstallGithubmyRepository.git

     6、git命令

    (1)git add <file>,注意,可反复多次使用,添加多个文件。
    (2)git commit -m "注释",完成提交。
    (3)git reset --hard commit_id 回退版本。
    (4)git reset HEAD -- file:清空add命令向暂存区提交的关于file文件的修改(Ustage)
    (5)git log可以查看提交历史,以便确定要回退到哪个版本。
    (6)git reflog查看命令历史,以便确定要回到未来的哪个版本。
    (7)git checkout -- file: 可以让没有add和commit的文件回到修改前状态。
    (8)rm file:删除文件,但是不提交修改,可以通过git checkout -- file恢复。
    (9)git rm file:删除文件,无法通过git checkout -- file恢复,必须通过git reset HEAD -- file才有用。
    (10)ssh-keygen -t rsa -C "youremail@example.com" :在windows下(电脑桌面即可) 打开git bash here 使用命令 $ ssh-keygen -t rsa -C "youremail@example.com"
      创建创建SSH Key
    (11)git remote add origin git@github.com:username/Mytest.git :和GitHub上的远程仓库关联,username是GitHub的用户名,Mytest.git是在GitHub上新建的远程仓库。
      添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。

      在关联远程库后使用 git add file 和git commit -m "注释"后就可以执行步骤(12)了。

           参考:https://www.cnblogs.com/onephp/p/6116716.html

    (12)git push -u origin master 我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

            测试时一直push失败,

      结果报错如下:
    error: failed to push some refs to 'git@github.com:username/Mytest.git '
    hint: Updates were rejected because the tip of your current branch is behind
    hint: its remote counterpart. Integrate the remote changes (e.g.
    hint: 'git pull ...') before pushing again.
    hint: See the 'Note about fast-forwards' in 'git push --help' for details.
      后发现,是由于两者不同步(新建远程仓库的时候创建了README.md,而本地没有),因此需要先pull,进行合并然后在进行push,
      因此先使用
    git pull --rebase origin master
      将远程文件同步下来。
      然后再执行推送就OK了
    git push -u origin master

     (13)git clone git@github.com:username/jeecms.git 克隆GitHub上的远程库

     (14)  查看分支:git branch ,当前分支会有一个*

      创建分支:git branch <name>
      切换分支:git checkout <name>
      创建+切换分支:git checkout -b <name>
      合并某分支到当前分支:git merge <name>
      删除分支:git branch -d <name>,如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除。
      git log --graph:命令可以看到分支合并图。


      $ git merge --no-ff -m "merge with no-ff" dev:合并dev分支,请注意--no-ff参数,表示禁用Fast forward,--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来                     曾经做过合并,而fast forward合并就看不出来曾经做过合并

    (15)修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;

        当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。

    (16)git 多人协作的工作模式通常是这样:

    1. 首先,可以试图用git push origin branch-name推送自己的修改;

    2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

    3. 如果合并有冲突,则解决冲突,并在本地提交;

    4. 没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!

         如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name

        这就是多人协作的工作模式,一旦熟悉了,就非常简单。

    (17)

        git tag <name>用于新建一个标签,默认为HEAD,也可以指定一个commit id;

        git tag -a <tagname> -m "blablabla..."可以指定标签信息;
        git tag -s <tagname> -m "blablabla..."可以用PGP签名标签;

        命令git tag可以查看所有标签。

        命令git push origin <tagname>可以推送一个本地标签;

        命令git push origin --tags可以推送全部未推送过的本地标签;

        命令git tag -d <tagname>可以删除一个本地标签;

        命令git push origin :refs/tags/<tagname>可以删除一个远程标签。

    (18)

        忽略某些文件时,需要编写.gitignore;

        .gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!

     

  • 相关阅读:
    新·刷题记录【争取认真来做】
    Codeforces 235D Graph Game
    Codeforces 235B Let's Play Osu!
    Codeforces 235E Number Challenge
    Codeforces 235C Cyclical Quest
    AHOI2017游记
    bzoj4826: [Hnoi2017]影魔
    大数分解模板
    A new start
    0712
  • 原文地址:https://www.cnblogs.com/Garnett-Boy/p/8622064.html
Copyright © 2011-2022 走看看