git入门笔记

来源:互联网 发布:1.5斤麒麟鞭弹簧垫数据 编辑:程序博客网 时间:2024/06/15 02:05

git是目前企业开发中广泛使用的工具,是一个以c编写的分布式版本控制系统,其核心思想是每个成员都保留完整版本,相互推送修改。

     (一)git的安装配置 :

1.下载对应版本的git,安装。

2. 配置环境变量:

          创建GIT_HOME=H:\git\INS\Git\(安装目录)

           加入path:%GIT_HOME%\bin;%GIT_HOME%\mingw64\libexec\git-core

          在命令行中输入git --version判断是否安装配置成功。

(二)在使用git之前先有个大体思路:

            git管理一个文件夹下的所有文件,这个文件夹称为工作区。

            修改工作区文件后先保存到暂存区(也叫添加索引)。

            把暂存区的修改保存到版本库。

           上传版本库到远程仓库。

(三)使用git:虽然有一些可视化工具可以很方便的操作git例如eclipse的git插件(用得也很多),但命令行操作可以更好的理解git的工作流程。

首先进入git的shell窗口git Bash:

1.使用pwd查看当前文件夹位置,进入要管理的文件夹下。

        2.使用命令 git init 在当前目录下创建本地版本库,查看文件夹发现多了.git文件夹。

        3.使用git status查看此本地库的工作情况,添加文件,再查看,发现有文件未被追踪。

        4.使用命令git add 文件名添加到暂存区。再查看状态,发现变为待提交。

        5.使用命令git commit -m "版本描述"提交到版本库,首次提交会提示让你修改用户信息使用一下命令:

git config --global --edit
git commit --amend --reset-author

        6.使用命令git log查看提交历史,git diff来查看修改内容。

7.建立远程库:git remote add origin "url"   url为你在github上创建的repository对应的url。以后origin代表此远程库。首次上传命令为git push -u origin master,把master分支上传到远程库origin.默认每次上传都要输入github的用户名和密码。主要如果远程库已存在文件,则要进行一次合并操作,git pull --rebase origin master 

        解决windows免密码push方法:

       创建环境变量HOME=HOME%USERPROFILE%
      在用户目录下新建文件(重点文件可新建txt然后去掉扩展名),文件内容:machine github.com login “username” password “password”
    (在文件夹选项,查看,里去掉勾选隐藏已知文件后缀名)。

     8.版本回退:首先查看历史记录:git log (可带简化输出参数--pretty=oneline)
       当前版本在git中记为head,向前一次加一个^号,多个时记录为head~n。 回退指令: git reset -hard head~n

回退后最新版本将被改变,如果需改回来可使用命令: git relog查找所有版本号确定版本后执行 git reset --hard head 版本号即可。

      要点:git的存储方式:文件系统中的文件为工作区,使用add命令后存入暂存区,commit提交暂存区中到版本库。
      所以文件区修改后如果不add,不会影响暂存区和版本库,提交暂存区后如果要撤回可先git reset head xx ,然后再git checkout回退到版本库里的状态。
      checkout命令是使工作区中文件和版本库中最新文件保持一致。
     9.删除操作,先rm删除工作区中文件,然后如果确定则,git rm xxx并提交,若是误删,则使用checkout xxx即可恢复为版本库里的状态。

    10. 从远程repository下载(clone)文件:新建一个文件夹然后在此文件夹下执行命令:git clone "url" 。

    11.分支的创建和使用:使用git branch查看分支情况。若只有一个分支master,则创建分支dev:
           git branch dev.
           git checkout dev.(切换到分支dev).
          也可采用一条命令:git checkout -b dev
          不同分支的文件不会相互影响,且工作区里的文件会随着分支的切换到相应的状态。
          分支合并:切换到master下 执行
           git merge dev;
           删除分支:git branch -d dev;
           删除远程分支:git push origin --delete dev
          获取远程库内容:git pull

  12.冲突解决:当多个分支修改同一个文件合并会发生冲突,会在master文件中表明修改的不同之处,修改之后提交,删除分支即可。
  合并分支默认是没有记录的,可以加上参数使其成为一个提交:git merge --no-ff dev,之后可查到合并记录。 

  13.bug处理:先保存工作区的工作(暂时无法提交)使用git stash存到别处,当修改完成后使用git stash apply恢复stash内容,并使用
git stash drop删除stash内容,或者直接用git stash pop,stash内容可用git stash list命令查看。
 14.分支要合并后才能删除,或者要强制删除git branch -D <name>。
 15.获取远程信息:git remote -v,推送分支git push origin xx

 16.标签管理:创建标签 git tag 标签名 commit id (不写则为最新版), 查看标签 git show 标签名
命令git push origin <tagname>可以推送一个本地标签;
命令git push origin --tags可以推送全部未推送过的本地标签;
命令git tag -d <tagname>可以删除一个本地标签;
命令git push origin :refs/tags/<tagname>可以删除一个远程标签
 17 忽略某些文件时,需要编写.gitignore放到git文件夹下里。        

 18在eclipse里使用git的要点:

首先配置git用户信息(用户名和邮箱:git - configure)。
将本地项目上传到远程仓库:
1.team-share project. 填写相关信息创建本地库。
2.工程的远程仓库在push branch to remote里配置。
3. 在history里使用reset进行版本重置,soft只改变历史记录,mixed则改变历史和索引,hard则是全部。
4. add index相当于add命令,取消add index使用untrack。

0 0
原创粉丝点击