GIT 基本使用 ( 2 )
1、Git工作区域
2、向仓库中添加文件流程
常规操作示例:
3 Git安装之后需要进行一些基本信息设置
a、设置用户名:git config -- global user.name '你再github上注册的用户名';
b、设置用户邮箱:git config -- global user.email '注册时候的邮箱';
注意:该配置会在github主页上显示谁提交了该文件
c、配置ok之后,我们用如下命令来看看是否配置成功
git config --list
注意:git config --global 参数,有了这个参数表示你这台机器上所有的git仓库都会使用这个配置,当然你也可以对某个仓库指定不同的用户名和邮箱
4 命令详细说明
git init , 初始化仓库
git clone 拷贝一份远程仓库,也就是下载一个项目。
git add 将当前目录下修改的所有代码从工作区添加到暂存区 . 代表当前目录
-
-
- git add .
不加参数默认为将修改操作的文件和未跟踪新添加的文件添加到git系统的暂存区,注意不包括删除 - git add -u .
-u 表示将已跟踪文件中的修改和删除的文件添加到暂存区,不包括新增加的文件,注意这些被删除的文件被加入到暂存区再被提交并推送到服务器的版本库之后这个文件就会从git系统中消失了。 - git add -A .
-A 表示将所有的已跟踪的文件的修改与删除和新增的未跟踪的文件都添加到暂存区。
- git add .
-
git status 查看工作区代码相对于暂存区的差别
git commit 将缓存区内容添加到本地仓库
1) git commit -m '提交信息'。 我们用的比较多的应该就是-m 参数。添加提交信息。
2) git commit -a -m ‘提交信息’ 我们知道-m参数是输入提交信息的,-a 参数就是可以把还没有执行add命令的修改一起提交。
3) git commit --amend 作用1: 可以修改上一次的提交信息。 作用2 : 可以将最近的修改追加到上一次的提交上。 注意:commitId会变化
git checkout
用法一: git checkout -b master_copy 从当前分支创建新分支master_copy并检出 ,这个是简写写法 , 全写:git checkout -b master master_copy
用法二: git checkout dev 切换到本地dev分支
用法三: git branch -d feature_x 删除本地分支
用法四: git checkout -- <filename> 恢复工作区文件 ( 未提交到暂存区 )
用法五: git checkout commitID -- <filename> 恢复文件到指定版本号
git fetch
git fetch 获取所有远程分支(不更新本地分支,另需merge)
git fetch --prune 获取所有原创分支并清除服务器上已删掉的分支
git pull
拉取远程仓库:$ git pull [remoteName] [localBranchName]
例如: git pull origin master 先将远程仓库master中的信息同步到本地仓库master中
git push
git push <远程主机名remote> <本地分支名localBranch>:<远程分支名remoteBranch>
简写形式 : 将本地分支localBranch推送到远程主机remote上对应的远程分支remoteBranch。此时若远程分支不存在,则会自动创建一个远程分支 如 : git push <远程主机名remote> <本地分支名localBranch>
git push origin master 将本地版本库推送到远程服务器,
origin是远程主机,master表示是远程服务器上的master分支和本地分支重名的简写,分支名是可以修改的
git remote
git remote add origin git@192.168.1.119:ndshow 添加别名
git remote show 查看远程库
git branch
git branch 查看本地所有分支
git branch -a 查看所有的分支
git branch -r 查看远程所有分支
git branch branch_0.1 master 从主分支master创建branch_0.1分支
git branch -m branch_0.1 branch_1.0 将branch_0.1重命名为branch_1.0
git branch -d hotfixes/BJVEP933 删除分支hotfixes/BJVEP933(本分支修改已合并到其他分支)
git branch -D hotfixes/BJVEP933 强制删除分支hotfixes/BJVEP933
git merge
git tag
git tag # 显示已存在的tag
git tag -a v2.0 -m 'xxx' # 增加v2.0的tag
git push origin tagname 推送tag到远程
git tag -a v0.1 -m "version 1.0" 88d434eb9992fa7502ec246ecfb89aef19f16873 带有说明的标签,用-a指定标签名,-m指定说明文字
git rm
git rm [file name] 删除一个文件
git rm a.a 移除文件(从暂存区和工作区中删除)
git rm --cached a.a 移除文件(只从暂存区中删除)
git rm -f a.a 强行移除修改后文件(从暂存区和工作区中删除)
git mv
git mv README README2 重命名文件README为README2
git reset
git reset --hard HEAD # 将当前版本重置为HEAD(通常用于merge失败回退)
git reset --hard head~1 回到上一个版本
git reset --hard <commitid> 回到commit id指定的版本
git diff 差异比较
git log
git log # 显示提交日志
git log -1 # 显示1行日志 -n为n行
ssh-keygen -t rsa -C "youremail@example.com"