第三课:开发中常用的Git操作 (Terminal)

来源:互联网 发布:ubuntu 16.04使用教程 编辑:程序博客网 时间:2024/05/16 09:04

一、从命令行创建一个新的仓库

1.1 create a new repository on the command line

  • 1.1.1 创建README.md文件

    $ echo "# Technical-training-exchange" >> README.md  或 touch README.md
  • 1.1.2 初始化Git

    $ git init
  • 1.1.3增加README.md文件

    $ git add README.md
  • 1.1.4 提交项目到本地Git

    $ git commit -m "first commit"
  • 1.1.5 关联远程的Git

    $ git remote add origin https://github.com/iwevonn/Technical-training-exchange.git
  • 1.1.6 将本地Git更新到远程的Git

    $ git push -u origin master

    1.2 push an existing repository from the command line

  • 1.2.1 关联远程的Git

    $ git remote add origin https://github.com/iwevonn/Technical-training-exchange.git
  • 1.2.2 将本地Git更新到远程的Git

    $ git push -u origin master

二、在现有的Git中开发

2.1 获取远程的代码仓库

$ git clone https://github.com/iwevonn/Technical-training-exchange.git

2.2 查看所有已存在的分支(-a :详情,可以不输入)

$ git branch [-a]

2.3 拉取远程的一个分支,并会在本地创建一个分支和远程的分支匹配

$ git fetch origin <分支名>:<分支名>

2.4 切换分支

$ git checkout <分支名>

2.5 获取最新的代码

$ git pull

2.6 代码提交到本地

$ git commit -a -m “second commit"

2.7 代码提提交到远程,如果没有成功就需要pull一次之后再提交到远程

$ git push origin <分支名>

2.8 在本地创建一个分支然后push到远程

  • 2.8.1 创建本地分支:
    $ git checkout -b <分支名>
  • 2.8.2 创建完成后直接push :
    $ git push -u origin <分支名>

2.9 更改git lg文字/字体显示样式

$ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset - %C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

三、Git进行分支管理

3.1 新建一个分支

  • 3.1.1 在本地电脑新建一个分支:
    $ git branch <分支名>
  • 3.1.2 将新分支发布在远程的代码仓上:
    $ git push origin <分支名>
  • 3.1.3 切换到你的新分支:
    $ git checkout <分支名>
  • 3.1.4 查看所有已存在的分支,你可以使用:
    $ git branch

3.2 切换分支

$ git checkout <分支名>

3.3 分支合并 (将开发中其它的分支合并到稳定master主分支)

  • 3.3.1 首先切换的master分支:
    $ git checkout master
  • 3.3.2 然后执行合并操作:
    $ git merge <分支名>
  • 3.3.3 如果有冲突,会提示你,查看冲突文件调用
    $ git status
  • 3.3.4 解决冲突,将解决后的文件暂存,然后调用
    $ git add  或 $ git rm
  • 3.3.5 所有冲突解决后,提交更改
    $ git commit -m -a "commit info"

3.4 分支衍合 (将开发中其它的分支,衍合到稳定master主分支) 
分支衍合和分支合并的差别在于,分支衍合不会保留合并的日志,不留痕迹,而分支合并则会保留合并的日志。

  • 3.4.1 首先切换到master分支:
    $ git checkout master
  • 3.4.2 然后执行衍和操作:
    $ git rebase <分支名>
  • 3.4.3 如果有冲突,会提示你,查看冲突文件调用
    $ git status
  • 3.4.4 解决冲突,将解决后的文件暂存,然后调用
    $ git add 或 git rm
  • 3.4.5 所有冲突解决后,提交更改
    $ git rebase --continue

3.5 删除分支

  • 3.5.1 执行
    $ git branch -D <分支名>
  • 3.5.2 删除该远程分支(冒号前面的空格不能少,原理是把一个空分支push到server上)
    $ git push origin :<分支名>
  • 3.5.3 如果该分支没有合并到主分支会报错,可以用以下命令强制删除
    $ git branch -D <分支名>

3.6 从远程获取最新版本到本地(相当于是,不会自动merge)

$ git fetch  <分支名>

3.7 为你的分支加入一个新的远程端:

$  git remote add <远程端名字> <地址>

四、回滚代码

4.1 撤销某次提交,但是此次之后的修改都会被退回到暂存区

$ git reset
  • Example 直接回滚到固定版本号 (7a78888:记录号)
    $  git reset —hard  7a78888
    会将最新的3次提交全部重置,就像没有提交过一样
    $  git reset --hard HEAD~3

4.2 是撤销本次操作,此次操作之前的commit都会被保留

$  git revert
1 0
原创粉丝点击