Git的常用命令

git客户端工具:git 和 TortoiseGit
        git下载地址:https://git-scm.com/downloads
TortoiseGit下载地址:https://download.tortoisegit.org/tgit/


一:下载并且安装git工具
    https://gitforwindows.org/


二:生成ssh key
    ssh-keygen -t rsa -C "3185017028@qq.com"


三:把key添加到github上。
    Settings-->SSH and GPG key


四:验证是否添加成功。如果展示Hi AbertLi! You've successfully authenticated, but GitHub does not provide shell access.表示添加成功。
     ssh -T git@github.com


五:配置git里面的config
    //查
    git config --global --list
 
    git config --global user.name
 
    //增
    git config  --global --add user.name jianan
 
    //删
    git config  --global --unset user.name
 
    //改
    git config --global user.name jianan

    //配置name和email方式二
    $ git config --global user.name "your name"
    $ git config --global user.email "your_email@youremail.com"


六:进入要上传的仓库,右键git bash,添加远程地址:
        Github上的远程仓库地址:git@github.com:AbertLi/AndroidStudyProject.git
    本地项目的文件夹名是:AndroidProject

    git init
    git add AndroidProject
    git commit -m "AndroidProject"
    git remote add origin git@github.com:AbertLi/AndroidStudyProject.git
    git push -u origin master

    然后到github上面去看看是否有上传代码成功


七:从远程仓库拉去项目
    git@github.com:AbertLi/testProject.git是远程仓库的地址
    git clone git@github.com:AbertLi/testProject.git


八:pull本地代码。这个功能跟svn的Update效果一样。
    git pull


九:把自己更改的代码添加到HEAD中,最后提交到git远程仓库里面。

    git add <filename>                       //fileName就是要添加的文件和文件夹,把文件添加到HEAD中
        git add*                                 //或者这样吧文件添加到HEAD中,除了在文件或者文件夹前面带点的文件
    git add.                 //添加文件夹内所有的文件
        git commit -m "对提交的代码进行说明。"
    git push origin 分支名字                 //代码从HEAD提交到远程仓库
    git push origin <branch>                 //或者这样写也可以,代码从HEAD提交到远程仓库

    git push origin master:refs/for/rom/master    //示例


十:创建一个叫做"feature_x"的分支:
    git checkout -b feature_x //创建分支


十一:查看分支
    git branch    //查看本地分支。
    git branch -a //查看远程库分支和本地分支。


十二:推送本地分支到远程仓库
    git push --set -upstream origin 分支名


十三:切换分支
    git branch  //查看本地分支,同时可以看到正在使用的分支
    git checkout 某个分支的名字      //切换到指定的分支。


十四:删除分支-->先查找分支然后在删除指定分支
    git branch   //先查找分支
    git checkout -d 分支名字       //删除指定分支。


十五:将远程git仓库里的指定分支拉取到本地并且切换到这分分支(本地不存在的分支)
    git checkout -b 本地分支名 origin/远程分支名
    
    fatal: Cannot update paths and switch to branch 'dev2' at the same time.
    Did you intend to checkout 'origin/dev2' which can not be resolved as commit?  //表示拉取不成功
    如果拉取不成功,执行以下命令
    git fetch
    然后在在执行
    git checkout -b 本地分支名 origin/远程分支名

    
十六:合并分支
    要更新你的本地仓库至最新改动,执行:
    git pull
    以在你的工作目录中 获取(fetch) 并 合并(merge) 远端的改动。
    要合并其他分支到你的当前分支(例如 master),执行:
    git merge <branch>
    在这两种情况下,git 都会尝试去自动合并改动。遗憾的是,这可能并非每次都成功,并可能出现冲突(conflicts)。 这时候就需要你修改这些文件来手动合并这些冲突(conflicts)。改完之后,你需要执行如下命令以将它们标记为合并成功:
    git add <filename>
    在合并改动之前,你可以使用如下命令预览差异:
    git diff <source_branch> <target_branch>


十七:标签
    为软件发布创建标签是推荐的。这个概念早已存在,在 SVN 中也有。你可以执行如下命令创建一个叫做 1.0.0 的标签:
    git tag 1.0.0 1b2e1d63ff
    1b2e1d63ff 是你想要标记的提交 ID 的前 10 位字符。可以使用下列命令获取提交 ID:
    git log
    你也可以使用少一点的提交 ID 前几位,只要它的指向具有唯一性。


十八:替换本地改动

    假如你操作失误(当然,这最好永远不要发生),你可以使用如下命令替换掉本地改动:
    git checkout --filename
    此命令会使用 HEAD 中的最新内容替换掉你的工作目录中的文件。已添加到暂存区的改动以及新文件都不会受到影响。

    假如你想丢弃你在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将你本地主分支指向它:
    git fetch origin
    git reset --hard origin/master


十九:实用小贴士
    内建的图形化 git:
    gitk
    彩色的 git 输出:
    git config color.ui true
    显示历史记录时,每个提交的信息只显示一行:
    git config format.pretty oneline
    交互式添加文件到暂存区:
    git add -i

20:git让项目回滚到指定的版本。

$ git log -3  //查看log
commit 4dc08bb8996a6ee02f
Author: Mark <xxx@xx.com>
Date:   Wed Sep 7 08:08:53 2016 +0800

    xxxxx

commit 9cac9ba76574da2167
Author: xxx<xx@qq.com>
Date:   Tue Sep 6 22:18:59 2016 +0800

    improved the requst

commit e377f60e28c8b84158
Author: xxx<xxx@qq.com>
Date:   Tue Sep 6 14:42:44 2016 +0800

    changed the password from empty to max123

回滚到指定的版本
git reset --hard e377f60e28c8b84158


换基
git pull --rebase


强制提交
git push -f origin master

21:git修改提交的备注内容

(1)执行以下命令进入一个备注文件中使用Vi进行操作

git commit --amend

(2)操作完成后后wq保存并且退出。或者先shift+:输入w!保存,然后输入q!退出编辑的文件。

(3)

git rebase --continue

(4)强制push到gitlab上。

git push --force

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值