一、从命令行创建一个新的仓库
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