Git基本用法教程

1. Git安装

Git(官网:https://git-scm.com/download/)安装之后鼠标右键会自动多出两个选项,这时就代表了安装成功

2. git初始化及提交

第一次clone 使用ssh-keygen -o 生成ssh密钥

Git global setup

git config --global user.name "username"
git config --global user.email "[email protected]"ssJ

远程到本地

git clone [url]   //获取全部分支内容,整体下载时间较长 & 所占磁盘空间较大
git clone -b [branch] [url]   //拉取特定分支
git clone -b  [branch] --single--branch git_[url] // 获取指定分支的代码
git clone --depth 10 [branch]  //只会获取最近 xx(10条提交记录的)代码,默认是master分支, 如果想要指定分支,可以结合 -b --single--branch 使用!

提交创建文件目录

cd existing_folder
git init    //初始化
git remote add origin [url]    //上传的代码仓库地址
git add .   //收集本地文件
git commit  -m "提交版本信息" //提交信息
git push -u origin master         //更新到服务器
使用git commit --amend 修改commit信息

删除文件 或文件夹

本地删除 :git rm -r  [file/dir]
本地提交:git commit -m “修改信息”
推送服务器 git push origin [url]

#3. 错误处理:

(1)第一次提交代码
把代码上传到master分支上执行如下。

git push -u origin master 

在使用git 对源代码进行push到gitHub时可能会出错,  错误代码如下:

hint: Updates were rejected because the tip of your current branch is behin
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

尝试下面的命令

git getch
git merge


git pull (网上说与上两个命令作用相同?)
但是仍然不行
出现错误的主要原因是github中的README.md文件不在本地代码目录中
可以通过如下命令进行代码合并【注:pull=fetch+merge]

git pull --rebase origin master

同步远程仓库更新到本地
git pull --rebase origin master
执行上面代码后可以看到本地代码库中多了README.md文件

此时再执行语句 git push -u origin master即可完成代码上传到github
##2. 本地落后远程 且存在较大分歧。想要拉去远程最新的版本到本地
提示: Your branch and ‘origin/master‘ have diverged
可执行如下命令

git fetch origin
git reset --hard origin 

#4. 分支操作
在本地新建分支: git branch newBranch
切换新分支: git checkout newBranch
创建并切换到新分支: git checkout -b newBranch
将新分支发布在远程服务器上: git push origin newBranch
在本地删除一个分支: git branch -d newBranch
同步远程端删除一个分支: git push origin :newBranch (分支名前的冒号代表删除)

删除远程分支
git push origin --delete [branch_name]

#5. 子模块:

5.1 子模块的添加

添加子模块非常简单,命令如下:
git submodule add
其中,url为子模块的路径,path为该子模块存储的目录路径。
执行成功后,git status会看到项目中修改了.gitmodules,并增加了一个新文件(为刚刚添加的路径)
git diff --cached查看修改内容可以看到增加了子模块,并且新文件下为子模块的提交hash摘要
git commit提交即完成子模块的添加

5.2 子模块删除

 git submodule deinit submodule_name
git rm submodule_name
rm -rf .git/modules/submodule_name

5.3 子模块的使用

5.3.1 将新的 URL 复制到本地配置中

$ git submodule sync --recursive
克隆项目后,默认子模块目录下无任何内容。需要在项目根目录执行如下命令完成子模块的下载:
git submodule init
git submodule update
或:
git submodule update --init --recursive

你可能感兴趣的:(Git,git,elasticsearch,大数据)