开发中常用的Git操作 (Terminal)

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

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

你可能感兴趣的:(开发中常用的Git操作 (Terminal))