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

    1、下载git https://code.google.com/p/msysgit/downloads/list

    2、安装git 。

    3、一直next下去就安装完成了。

    4、git与bitbucket关联,产生一个公钥(类似与seesion,下回我们git 项目时就不用登录了。)。 在开始->所有程序->git->Git Bash  打开gitbash。

    显示如下界面:

    5、输入 ssh-keygen ,按enter,一直按enter 直到出现下面

    6、上图中会提示公钥生成在 C:Documents and SettingsAdministrator.ssh 目录中,找到目录 ,里面有id_rsa.pub文件,用记事本打开,然后把里面的东西 全选复制。

    7、登录bitbucket页面,点击头像,选择帐号管理。然后点选如图SSH密钥,然后有个他添加Key,把刚才复制的key复制进去。添加就完成了。


    Git操作命令

    1. 远程仓库相关命令

    检出仓库:$ git clone git://github.com/jquery/jquery.git

    查看远程仓库:$ git remote -v

    添加远程仓库:$ git remote add [name] [url]

    删除远程仓库:$ git remote rm [name]

    修改远程仓库:$ git remote set-url --push [name] [newUrl]

    拉取远程仓库:$ git pull [remoteName] [localBranchName]

    推送远程仓库:$ git push [remoteName] [localBranchName]

    * 如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名为test的分支,命令如下:

    $ git push origin test:master

    $ git push origin test:test

    2. 分支(branch)操作相关命令

    查看本地分支:$ git branch

    查看远程分支:$ git branch -r(如果看不到就先git fetch origin)

    创建本地分支:$ git branch [name]

    切换分支:$ git checkout [name]

    创建新分支并立即切换到新分支:$ git checkout -b [name]

    查看检出远程分支:$ git checkout -b [name] [remoteName]

    删除分支:$ git branch -d [name] (d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果要强制删除一个分支,可以使用-D选项)

    合并分支:$ git merge [name] (将名称为name的分支与当前分支合并)

    合并最后的2个提交:$ git rebase -i HEAD~2(数字2按需要修改即可)

    创建远程分支:$ git push origin [name]

    删除远程分支:$ git push origin :[name]

    3. 版本(tag)操作相关命令

    查看版本:$ git tag

    创建版本:$ git tag [name]

    删除版本:$ git tag -d [name]

    查看远程版本:$ git tag -r

    创建远程版本:$ git push origin [name]

    删除远程版本:$ git push origin :refs/tags/[name]

    合并远程仓库的tag到本地:$ git pull origin --tags

    上传本地tag到远程仓库:$ git push origin --tags

    创建带注释的tag:$ git tag -a [name] -m 'yourMessage'

    4. 子模块(submodule)相关操作命令

    添加子模块:$ git submodule add [url] [path]

    初始化子模块:$ git submodule init

    更新子模块:$ git submodule update

    删除子模块:1) $ git rm --cached [path] 2) 编辑“.gitmodules”文件,将子模块的相关配置节点删除掉 3) 编辑“.git/config”文件,将子模块的相关配置节点删除掉 4) 手动删除子模块残留的目录

    5. 版本回溯

    删除当前仓库内未受版本管理的文件:$ git clean -f

    恢复仓库到上一次的提交状态:$ git reset --hard

    回退所有内容到上一个版本:$ git reset HEAD^

    回退a.py这个文件的版本到上一个版本:$ git reset HEAD^ a.py

    回退到某个版本:$ git reset 057d

    将本地的状态回退到和远程的一样:$ git reset -hard origin/master

    向前回退到第3个版本:$ git reset -soft HEAD~3

    6. 其他

    查看Git全局设置信息:git config -l

    设置用户名和邮箱:git config --global user.name "***"

                             git config --global user.email *****@gmail.com

    7、git提取差异文件并打包

    git diff 608e120 4abe32e --name-only | xargs zip update.zip


     Git的.gitignore配置

    1、配置语法:

      以“/”开头表示目录;

      以“*”通配多个字符;

      以“?”通配单个字符;

      以“[]”包含单个字符的匹配列表;

      以“!”表示不忽略匹配到的文件或目录;

      此外,git对.gitignore配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;

    2、示例:

    (1)规则:fd1/*

      说明:忽略目录fd1下的全部内容;注意,不管是根目录下的/fd1/目录,还是某子目录/child/fd1/目录,都会被忽略;

    (2)规则:/fd1/*

      说明:忽略根目录下的/fd1/目录的全部内容;

    (3)规则:

      /*

      !.gitignore

      !/fw/bin/

      !/fw/sf/

      说明:忽略全部内容,但不忽略.gitignore文件、根目录下的/fw/bin/和fw/sf/目录;


    Git问题:

    1、.gitignore失效的解决方法

    运行命令:git rm -r --cached . (delete all cached)

    2、当push代码到git时,出现提示:

    问题(Non-fast-forward)的出现原因在于:git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去。解决方式:

    强推,即利用强覆盖方式用你本地的代码替代git仓库内的内容

    git push -f

    3、提交代码

    git add .

    git commit

    git push

    4、强制覆盖本地文件

    git fetch --all

    git reset --hard origin/master

  • 相关阅读:
    maven 设置日志级别
    浏览器工作原理:浅析浏览器中的页面
    浏览器工作原理:浅析浏览器中的页面
    解决uniapp的websocket连接在web和安卓正常,iOS连接不上的问题
    浏览器工作原理:浅析页面循环系统
    浏览器工作原理:浅析页面循环系统
    浏览器工作原理:浅析页面循环系统
    浅析如何使用WebSocket、SockJS、STOMP实现消息实时通讯功能:websocket/SocketJS/Stomp是什么及三者的关系、stomp协议格式、如何开启stomp、如何处理客服端发送的stomp、如何发消息给客服端、如何在任何地方发消息、如何给目标或指定用户发消息
    解决sockjs、stomp在uni-app端使用的坑
    浏览器工作原理:浅析页面循环系统
  • 原文地址:https://www.cnblogs.com/sydeveloper/p/3606367.html
Copyright © 2011-2022 走看看