git命令的日常使用及注意事项
2019-03-05 15:12
211 查看
后台有小伙伴留言需要分享一下git的使用流程,刚好自己也想记录一下使用操作,毕竟每个人都对相同的知识有自己的理解。这里给大家分享一些我的关于git使用的相关知识点,这里只分享一些经常使用的的操作(反对大量重复造轮子),其它具体的git使用信息和注意事项、背景信息大家可以去网上查找。我也会在文章末尾给出一些参考链接,是学习git比较好的文章。
Git操作四步曲
-
创建一个云端版本库(使用国内的码云,github太慢了,命令完全是一样的)
在码云上创建一个远程版本库, 如下图
- 复制这个仓库的地址(比如:https://gitee.com/Sun_ME/git-test.git)
在自己电脑上创建一个本地版本库
在任意地方创建一个文件夹,比如(C:\Users\pc\Desktop\git)
使用visual studio code(对vscode使用不熟练的使用cmd或者powershell也可以)打开这个目录,进入终端窗口
要使用git首先当然需要配置一下git了,执行gitconfig命令配置相关用户信息
git config --global user.name "你的名字或昵称" git config --global user.email "你的邮箱"
使用以下命令将这个文件夹作为版本控制的目录
这个命令会在当前目录创建一个.git的文件夹git init
到这里本地的版本库就已经创建完成了。
将本地版本库与云端的版本库关联起来
-
在终端中输入以下命令,将远端和本地关联
git remote add origin https://gitee.com/Sun_ME/git-test.git
- 注意这个时候我们的远程版本库和本地版本库的内容是不一样的,远程版本库里有两个readme文件,而本地版本库什么东西都没有,这里的区别很重要(后面会说明)。现在我们在本地创建一个local_txt.txt文件,并在文本中添加文本内容如下:Hello Git。假设我们要对这个文本文件进行版本控制。我们需要执行以下几个命令: 将需要跟踪的文件添加到暂存区(任选其中一个命令即可)
git add . #将当前目录下所有的文件添加到暂存区 git add local_txt.txt #将local_txt.txt 添加到暂存区
- 将暂存区的文件添加到存储库
git commit -m "保存" # -m后面的字符串为此次提交的说明,随意填写
- 到这里这个local_txt.txt文件已经添加到我们的本地版本控制仓库中了
将本地版本库推送到远程仓库中
-
很多童鞋可能会想直接使用命令将本地仓库推到远端中不就完了,其实没错,但是,注意我之前说过的,现在本地仓库和远程仓库的内容是不一样的。我们可以试着推一下,使用命令:git push origin master推送本地版本库到远端。控制台报错如下:
! [rejected] master -> master (fetch first) error: failed to push some refs to 'https://gitee.com/Sun_ME/git-test.git' hint: Updates were rejected because the remote contains work that you do hint: not have locally. This is usually caused by another repository pushing hint: to the same ref. You may want to first integrate the remote changes hint: (e.g., 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details.
git pull origin master这时候我们的目录中就多了如下几个文件
GIT .gitgnore //这个文件作为配置文件,会忽略一些指定的不需要被版本控制的目录或文件,可以从网络上下载指定项目的模板 local_txt.txt README.en.md README.md
- 现在我们可以使用以下命令将本地版本库推送到远端版本库中了
git push origin master
- 查看远程版本库,发现内容和本地版本库一样了。到这里你已经学会了版本库的创建、暂存、提交、存储、拉取、推送了。
多人协作使用git
-
假设现在有一个仓库,还用上面那个仓库作为说明。暂且将自己称为A,现在来了一个B同事,要和你一起在这个仓库中工作,你们两个需要协同开发。
B同事将云端的版本库通过命令克隆到了自己电脑上:
git clone https://gitee.com/Sun_ME/git-test.git
- A也将这个版本库克隆到了自己的电脑上。
- B同事在自己电脑上打开local_txt.txt 文件,并把内容修改为了:Hello Superman
- A同事也在自己电脑上打开了local_txt.txt文件,并把内容修改为了:Hello 灭霸
- B同事按照上面的操作流程: 使用如下命令将这个文件添加到暂存区:
git add local_txt.txt
- 将这个文件提交到本地仓库中
git commit -m "B同事修改为Hello Superman"
- 将本地本库推送到远程仓库
git push origin master
-
A按照上面的流程操作一遍。一定动手操作一遍。这个时候你会发现并不能成功推送,报了之前报过的一个错误。你一定回想到,我们本地仓库内容和远程不一样,我需要从远端拉取一下,再推送就可以了。没错,先这样尝试一样。
使用以下命令从拉取远端版本库的内容
git pull origin master
git push --set-upstream origin master
- 涉及到这里还是有点复杂,读着可以多尝试几次,理解这个工作流程,多熟练几次都大致就能明白是怎样一回事了。
一些Git常用的命令集:
$ mkdir *** 创建***文件夹 $ pwd 查看当前URL $ ls -ah 查看该目录集文件 $ git init 在当前目录下创建Git仓库 $ git add *** 将***提交到暂存区 $ git commit -m "****" 从暂存区提交到当前分支 并为本次提交增加介绍****内容 [我们创建Git版本库时,Git自动为我们创建了唯一一个master分支, 所以,现在,git commit就是往master分支上提交更改。] $ ssh-keygen -t rsa -C "youremail@example.com" 创建SSH Key $ git status 了解仓库当前的状态 $ git diff 看具体修改了什么内容 $ git log 显示从最近到最远的提交日志 $ git reset --hard head^ 回退到上一(*^)版本(^可多个) $ git reset --hard **** 回退到版本**** $ 3ff7 git checkout -- *** 将***的暂存区内容清除 $ git reset head *** 退回到最新版本--即上一版本 $ git remote add origin ***** 绑定远程仓库 $ git push -u origin master 首次将本地库上传到远程GitHub仓中 $ git clone **** 克隆一个本地库 git push origin master 非首次推送最新修改可省略 -u $ git remote rm origin 移除远程仓库的绑定 $ git checkout -b *** 转换到一个分支***如果没有就创建一个新的 [ git checkout 命令加上 -b 参数表示创建并切换,相当于以下两条命令: $ git branch *** //创建一个 *** 分支 $ git checkout *** //转换到 *** 分支 Switched to branch '***'] $ git branch 命令会列出所有分支,当前分支前面会标一个 * 号 $ git merge *** 合并某分支到***分支 $ git branch -d *** 删除***分支
参考文章:
- https://gitee.com/help/articles/4192#article-header0
- https://git-scm.com/book/zh/v2
- https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/
更多内容,欢迎关注访问
)
相关文章推荐
- 使用git命令操作github时的一些注意事项
- JDK的环境配置+命令的使用+注意事项
- 开发者日常使用的 Git 命令
- RedisTemplate SCAN 命令的使用和注意事项
- 模块-内核模块加载命令modprobe使用注意事项
- 开发者日常使用的 Git 命令
- JNI中javah命令的使用,生成.h的头文件的注意事项
- git | 日常使用的简单命令
- [转]多操作系统平台协同开发时 GIT 的注意事项: 不同操作系统中的换行符(不要使用git的换行符自动转换功能,并且,尽可能保证代码的换行符都是unix); 避免使用第三方插件(如 EGit );
- 使用Git 作为项目管理工具开发时的方式和注意事项
- 开发者日常使用的 Git 命令
- 开发者日常使用的 Git 命令
- zeromq 在ubuntu 下的编译命令,以及使用时的注意事项
- 树莓派上mount命令的使用注意事项
- git 使用注意事项
- 开发者日常使用的 Git 命令
- git 日常使用命令整理
- android studio使用git的部分注意事项
- centos 使用网络管理命令注意事项
- 开发者日常使用的 Git 命令