2

1. git add <file>

file.txt 文件添加到暂存区。

git add file.txt

将当前所有有变动的文件添加到暂存区。

git add .

2. git commit

将暂存区的文件提交到当前分支。

git commit -m '将刚才添加到暂存区的文件提交到当前分支,-m 代表要加注释'

3. git push <远程主机名> <分支名>

推送分支,就是把该分支上的所有本地提交推送到远程库。

git push origin master

上面命令表示,将本地的 master 分支推送到 origin 主机的 master 分支。如果 master 不存在,则会被新建。

远程库的名字就是 origin,这是 Git 默认的叫法,也可以改成别的,但是 origin 这个名字一看就知道是远程库。

推送到远程仓库 dev 分支。

git push origin dev

第一次使用时要带上 -u 参数

git push -u origin master

以后每次提交就可以直接使用 git push 了,不用每次都输上一串命令。

git push

4. git pull

git pull 将远程仓库的更新拉取下来,再和本地分支进行合并。

5. git branch git checkout

git branch 查看当前所有分支
git branch <name> 创建分支
git checkout <name> 切换分支

创建分支 dev

git branch dev

切换到分支 dev

git checkout dev

6. git log

git log 命令可以查看提交的历史记录。

E:\res\platform>git log
commit 783ec77f1447125971aa2651e4320a768938d453 (HEAD -> 3.0, origin/3.0)
Author: woai3c <411020382@qq.com>
Date:   Wed Apr 22 14:19:00 2020 +0800

    chore: 只有打包时才应用忽略 console.log 语句

commit 514cf81798a14b3bf273019d02885f87bf8ad2ac
Author: woai3c <411020382@qq.com>
Date:   Wed Apr 22 13:40:11 2020 +0800

    feat: 添加全局 log 函数

如果不想显示无用的信息,可以使用 git log --pretty=oneline

E:\res\platform>git log --pretty=oneline
783ec77f1447125971aa2651e4320a768938d453 (HEAD -> 3.0, origin/3.0) chore: 只有打包时才应用忽略 console.log 语句
514cf81798a14b3bf273019d02885f87bf8ad2ac feat: 添加全局 log 函数
2f0e28962d3f2d5e9c047387560986411d2a07d0 chore: 更新 eslint 规则

7. git reset

git reset 命令用于版本回退。
假如你正在开发一个项目,有一天产品提了个新功能,要求三天内完成,于是你快马加鞭、加班加点终于在三天内完成了。
结果第四天产品告诉你新功能不要了。你想打死产品的心都有了,话虽如此,工作还是得继续,这时 git reset 就可以派上用场了。

将版本回退到上一版本。

git reset --hard HEAD~1

将版本回退到三个版本前。

git reset --hard HEAD~3

也可以指定固定的版本进行回退,先使用 git log --pretty=oneline 命令查看历史记录,将想要回退版本的 commit id 复制一下,回退时使用这个 commit id 进行回退。

git reset --hard 485776d96f57db88c6a6f31146532d21fc01b1ab

接着使用 git push -f 将回退版本后的分支强制推送到远程仓库,这样本地分支和远程分支就同步了。

git push -f

解决冲突

当执行 git pull,将远程分支和本地分支合并时,有可能会出现冲突的情况。
例如有 A 和 B 两个人,对同一文件 test.txt 进行了修改。A 修改完后先提交到了远程分支,当 B 要提交时,执行 git pull,发现远程仓库的 test.txt 和自己本地的版本有冲突。

### 以太网的的信道利用率
### 以太网的的信道利用率
<<<<<<< HEAD
aaaaaa
=======
bbb
>>>>>>> 9ccc398514d6a80a6ea2e44ade8171660d15cacf
### 以太网的的信道利用率
### 以太网的的信道利用率

从上面的代码可以看出,当前版本的文件内容 aaaaaa 和远程仓库文件的内容 bbb 产生了冲突。
冲突用 <<< ==== >>>> 将产生冲突的内容分隔开,如果你觉得远程仓库的内容不对,要换成自己的,那可以这样改。

### 以太网的的信道利用率
### 以太网的的信道利用率
aaaaaa
### 以太网的的信道利用率
### 以太网的的信道利用率

<<< === >>> 删除掉,并替换成自己的内容,再执行 git add git commit 提交内容。 这时,执行 git pull,你会发现没有更新,刚修改的内容也不会变,最后再执行 git push 将内容推送到远程仓库。

参考资料


谭光志
6.9k 声望13.1k 粉丝