GIT操作总结

GIT操作总结

        • 1、本地配置
        • 2、回滚本地及远端
        • 3、新建项目
        • 4、更换远程仓库
        • 5、分支创建
        • 6、撤销
        • 7、合并分支
        • 8、别名管理
        • 9、更新及Push操作(亲测,防止覆盖别人代码!!!)
        • 10、不小心git reset --hard后的修复方案
        • 最后、使用原生git命令的好处

1、本地配置

git config --global user.name “输入你的用户名”
git config --global user.email “输入你的邮箱”

2、回滚本地及远端

本地回滚:git reset --hard 40位唯一码
这个时候用push到远端是不行的,因为当前本地的版本比远端的版本落后,远端不允许提交。
强迫提交:git push -f origin master
这样就可以强迫提交,使远端也回滚了。

3、新建项目

本地工程目录:
(1)git init (git初始化)
(2)git add . (提交所有文件到staged暂存)
(3)git commit -m . (提交所有文件到本地仓库,这里可能要先配置email和username。)
(4)git remote add origin 远端链接 (与远端建立关系)
(5)git push -u origin master -f 推到远端。
PS:远端新建的项目必须是空。

4、更换远程仓库

remove掉原来远程仓库的关联,然后增加。

git remote remove origin
git remote add origin 远程仓库链接

5、分支创建

本地切换分支(第一次,包含新建分支):git checkout -b dev
这时只有本地有dev分支,需要进行一次push才能使远端也同步dev分支。

6、撤销

git checkout 1.txt/.
1.txt文件名,回撤指定文件的修改,只有状态是modified的才能使用checkout回撤,如果是新建的文件则checkout无效。
.代表所有。
如果存在新建文件操作或删除文件操作,然后想回撤操作,有两种方法:回滚reset或暂存stash,checkout是不行的。

7、合并分支

查看当前选择的分支(有星号的表示当前分支):git branch
合并:git merge dev (表示将dev的修改合并到master,前提:当前的分支为master)
提交到远端,进行同步:git push -u origin master

8、别名管理

别名配置:git config [–global] --edit
配置格式:

[alias]
	as = !git stash && git pull

这里意思是:先进行暂存,然后进行拉取

9、更新及Push操作(亲测,防止覆盖别人代码!!!)

先手动备份修改和新建的文件!!!!
(1)git stash
(2)git pull
(3)git add . (可以在GUI里面进行操作)
(4)git stash pop (可能出现冲突,有则修改,正常操作的冲突)
(5)git add . (可以在GUI里面进行操作)
(6)git commit -m “提交的备注信息” (可以在GUI里面进行操作)
(7)git push -u origin dev (可能出现冲突,有则修改,一般都是别人在你这七个操作期间进行了提交,导致当前版本和远端不一致)
PS:(1)在GUI里面进行操作,可以更清晰地看出修改的地方。
(2)出现冲突了就reset吧,这是最保险的方法。

10、不小心git reset --hard后的修复方案

找到本地库的.git文件。
GIT操作总结_第1张图片
然后找到对应的分支,具体路径为:.git\logs\refs\heads
GIT操作总结_第2张图片
打开分支文件后,找到对应想要恢复的版本号:
GIT操作总结_第3张图片
这里找到对应的版本号后,再执行 git reset --hard 版本号,然后版本就会恢复。
总结:只要有提交记录,在这个文件都能找到对应的版本号,以后再也不怕误操作了,O(∩_∩)O哈哈~。

最后、使用原生git命令的好处

  • 其实用编辑器来进行git的操作也是区别不大。使用git命令有一个好处就是只要安装了git你就可以操作,不需要依赖编辑器。如果是Linux的话就会方便一些,不需要安装GUI。
  • 如果觉得git原生的命令过多,可以使用alias别名来进行命令集成。第七点,我就是用命令集成的,将1、2、3和4集成,然后5、6和7,我是使用GUI来操作,这样方便我查看代码的变化和冲突。其实也可以使用git status来查看状态,只是GUI更直观而已。

你可能感兴趣的:(笔记,GIT)