zoukankan      html  css  js  c++  java
  • Git使用笔记

    首先推荐这个教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

    以Windows系统为例,安装完成后,打开 Git Bash

    1. 配置身份,主要是用户名和邮箱

    git config --global user.name "xxx" 
    git config --global user.email "xxx@xxx.com"

    配置成功后可使用同样的命令来查看是否配置成功,只需将后面的名字和邮箱去掉即可。

    2. 创建代码仓库git init

    到一个项目的目录下,比如我想将TagManager托管到Git上

    然后在这个目录下输入如下命令: git init

    会在TagManager项目的根目录下生成一个隐藏的.git文件,用来记录本地所有的Git操作,可以通过 ls -al 命令来查看

    3. 忽略特殊文件

    提交代码之前先忽略一些不必要上传的文件,比如class字节码之类的。在项目目录下创建一个特殊的.gitignore文件,不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/gitignore. 注:不要使用Windows自带的记事本编辑任何文本文件

    4. 用 git add 命令将文件添加到仓库

    git add .gitignore

    在add后面加上一个点表示添加所有文件: git add .

    5. commit命令执行提交操作

    git commit -m "First commit"     这里注意commit命令后面一定要通过 -m 参数来加上提交的描述信息。

    6. 将代码提交到github上托管

    使用push命令,commit之后  git push origin master 即可

    7. 查看修改内容命令 git status,git diff 命令查看具体修改了什么内容

    如果只想查看MainActicity.java这个文件的更改内容,可是使用以下命令: git diff srccomexample agmanageractivityMianActivity.java 

    8. 撤销未提交的修改git checkout / git reset

    手贱修改错了的话,只要代码还未提交的话,可以撤销所有修改内容。

    git checkout srccomexample agmanageractivityMianActivity.java —> 撤销对MianActivity.java 的所有修改,但是如果MianActivity已被执行add命令的话是无效的。

    9. 版本回退git reset

    上面的撤销修改,如果MianActivity已被执行add命令的话是无效的。此时应用版本回退命令 git reset HEAD srccomexample agmanageractivityMianActivity.java

    HEAD表示当前版本。上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。

    10. 查看提交记录git log

    当记录非常多时,如果只想查看其中一条记录的话可以指定该记录的id并加上 -1 参数表示我们只想看到一行记录:git log 5ec3cd97de45a095c7383a26c9c629b9538de724  -1

    再跟上个 -p 参数可以查看这条提交修改了什么内容:  git log 5ec3cd97de45a095c7383a26c9c629b9538de724  -1 -p

    11. Git时间——分支的用法:查看,创建,合并,删除分支。

    查看当前版本库中有哪些分支命令:git branch

    表明没有创建任何分支,所以只有一个master分支存在,即主干线。现在尝试创建一个分支:git branch version1.0

    切换到 version1.0 这个分支上: get checkout version1.0        切换到主干线并合并分支(可能会有冲突): git checkout master ,  git merge version1.0

    删除分支:git branch -D version1.0 

    12. 与远程版本库协作

    假设远程版本库的地址是https://github.com/example/test.git

    将代码下载到本地的命令: git clone https://github.com/example/test.git

    将远程库和本地库相关联:首先在github上创建仓库tagmanager,在本地的仓库目录下(比如TagManager)运行命令$ git remote add origin git@github.com:f91og/tagmanager.git 但是这个方法我过会报错,可以使用另一种方法:首先在本地工程目录下右击鼠标,Git Bash here。在Git Bash中输入 git clone https://github.com/f91og/tagmanager.git 之后在你的工程目录中会出现个tagmanger的文件夹,将这个文件夹下的所有文件都拷贝到上一层目录中(包括隐藏的 .git 文件夹)然后在 add, commit, push就可以了. push的时候要输入GitHub的帐号密码。

    将本地修改同步到远程版本库中: git push origin master

    将远程版本库上的修改同步到本地: git fetch origin master---------->同步下来的代码并不会合并到任何分支上,而是存放到一个origin/master分支上,这是可以通过 git diff 命令查看远程版本库上到底修改了哪些东西  git diff origin/master  之后再用merge命令将修改合并到主分支即可  git merge origin/master. 

    pull命令相当于将fetch和merge放在一起执行: git pull origin master. 如果要clone指定commit的代码(即有时候我们不拉取最新的),命令如下(加个-b参数):

    git clone https://github.wdf.sap.corp/bizx/build-system.git -b trunk.201709260855

    13. 撤销某次提交带来的修改

    使用的是revert命令(后面跟的是每次commit 的id):

    git reset 046bd7b5c1d134b8123f59ea71b19875a6a2fc3e

    git reset --hard 046bd7b5c1d134b8123f59ea71b19875a6a2fc3e

    参考:http://www.cnblogs.com/0616--ataozhijia/p/3709917.html


    下面是一些使用过程中遇到的错误以及相应的解决办法

    1. 按照11的方法发现代码提交不到github上去,提示 please tell me who you are 。然后设置了用户名和邮箱后仍然提交不上去,摸索一番后发现原因是:操作顺序不对,我先是add操作,然后commit,但这个时候git提示要我设置用户名和邮箱,我设置完了之后直接commit,相当于什么都没commit, 它这个add, commit操作是在git认识你是谁的基础上操作的(我语文不行,表达能力不是很好,勿怪)。也就是说你设置了好了用户名邮箱之后,应该重新 add 然后再commit,这样才能提交上去。(2)我记得之前配置好了用户名和邮箱的啊,只是有一段时间没用git了。看了时间过期没用git的话配置的用户名和邮箱会失效,要再次配置。

    2. 退出git log命令

    直接按q即可

    3. 退出vim

    使用git bash有时候会自动进入vim编辑器,然后无法推出。解决方法是: 一直按住esc ,再连续按大写的z两次就退出来了

  • 相关阅读:
    METHODS OF AND APPARATUS FOR USING TEXTURES IN GRAPHICS PROCESSING SYSTEMS
    Display controller
    Graphics processing architecture employing a unified shader
    Graphics-Processing Architecture Based on Approximate Rendering
    Architectures for concurrent graphics processing operations
    Procedural graphics architectures and techniques
    DYNAMIC CONTEXT SWITCHING BETWEEN ARCHITECTURALLY DISTINCT GRAPHICS PROCESSORS
    Thermal zone monitoring in an electronic device
    System and method for dynamically adjusting to CPU performance changes
    Framework for Graphics Animation and Compositing Operations
  • 原文地址:https://www.cnblogs.com/f91og/p/6419878.html
Copyright © 2011-2022 走看看