git常用命令

一、创建新秘钥(ssh)

ssh  -keygen  -t  rsa  -C  "邮箱地址"    //生成秘钥

查看秘钥文件夹位置(路径地址)

1,输入 cd ·/.ssh   //进入到.ssh文件夹
2,输入 ls 查看.ssh文件夹里有id_rsa  id_rsa.pub  known_hosts文件
3,输入pwd查看.ssh文件路径位置地址

二、配置用户和邮箱
1,全局设置用户名和邮箱

git config --global user.name "gitLab上的用户名"
git config --global user.email "gitLab上的邮箱"

2,针对项目,在项目根目录配置用户名和邮箱

git config  user.name "gitLab上的用户名"
git config  user.email "gitLab上的邮箱"
git config --list   查看当前配置, //在当前项目下面查看的配置是全局配置+当前项目的配置, 使用的时候会优先使用当前项目的配置

三、git查看本地全局配置信息

git config                                //config配置指令
git config  --system --list   //查看系统config
git config  --global  --list  //查看当前用户配置
git config  --local  --list   //查看当前仓库配置信息
git config user.name   //查看user.name
git config user.email  //查看user.email

修改全局配置信息

git config --global --replace-all user.name    //修改user.name
git config --global --repalce-all user.email  //修改user.email

四、从服务器拷贝文件到本地

scp -P 端口号 服务器登录账号@服务器地址:需要拷贝的文件路径  需要拷贝到本地的路径

五、从本地拷贝文件到服务器

scp 需要拷贝到本地的路径  服务器账号@服务器地址:需要拷贝的文件路径

六、从gitLab克隆项目到本地
1,克隆master分支方法

git clone gitLabel项目地址

2,克隆非master分支方法

1,git clone gitLabel项目地址
2,进入项目文件夹,git branch -r    //查看远程分支
             或者:git branch -a  //查看所有分支
3,git checkout origin/需要的分支名
4,在本地创建与远程相同的,所需要的分支名git branch 需要的分支
5,在本地切换到需要的分支名上,git checkout 需要的分支名

七、从本地上传文件到gitLab服务器

1,本地进入项目文件夹,配置gitLab上的用户名和邮箱
2,把这个目录变成git可以管理的仓库:git init
3,关联到远程仓库:git remote add origin gitLab上的项目地址

//以上三步是项目第一次提交时,需配置的信息,后面提交按下面的几步操作
4,把文件夹下的所有文件添加到暂存区中:git add .
或者添加部分需要上传的文件:git add "需要上传的文件"
5,把文件提交到本地仓库:git commit -m "提交说明"
6,把本地仓库的内容推送到远程仓库:git push origin master
//把本地当前分支master推送到远程origin主机的master分支

八、查看远程仓库状态/远程仓库信息

git status      //查看版本库状态,哪些文件被修改过还没有提交
git diff      //查看当前相对上一次提交修改的内容
git remote    //查看远程仓库信息
git  remote -v   //查看更加详细的信息
git log       //查看提交记录

九、git修改远程仓库地址,三种方法
1,修改命令

git remote set-url [--push] <远程主机名称> <新的地址> [<旧的地址>]
例:git remote set-url origin git@zkgit.iask.in:zzh/demo.git

2,先删后加

git remote rm origin
git remote add origin [url]

3,直接修改配置文件(见二、配置用户和邮箱)

十、git commit之后,想撤销commit的命令
git reset --soft HEAD^
HEAD^ 的意思是上一个版本,也可以写成HEAD~1.
如果进行了2次commit,都想撤回,可以使用HEAD~2

几个参数:
- -mixed 不删除工作空间改动代码,撤销commit,并且撤销git add .操作。这个为默认参数,git reset --mixed HEAD^ 和git reset HEAD^效果是一样的。
- -soft 不删除工作空间改动代码,撤销commit,不撤销git add .
- -hard 删除工作空间改动代码,撤销commit,撤销git add .
git commit --amend 此时回进入默认vim编辑器,修改注释。

十一、git push命令详解
1,git push <远程主机名> <本地分支名>:<远程分支名>
注意:这里的“:”前后是必须没有空格的
用于:将本地分支的更新,推送到远程主机。

2,git push origin master
表示:将本地的master分支推送到origin 主机的master分支。如果后者不存在则会被新创建。
使用场景:如果省略了远程分支名,则表示将本地分支推送与之存在“追踪关系”的远程分支(通常两者同名)。如果该远程分支不存在,则会被新建。

3,git push origin :master 等同于 git push origin - - delete master
(慎用!!!)表示:删除origin 主机的master分支
使用场景:如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支。

4,git push origin
命令表示:将当前分支推送到origin主机的对应分支
使用场景:如果当前分支与远程分支之间存在追踪关系,则本地分支和远程分支都可以省略。

5,git push
命令表示:如果当前分支只有一个追踪分支,那么主机名都可以省略。

6,git push -u origin master
命令表示:将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push 了。
使用场景:如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,这样后面就可以不加任何参数使用git push .

7,git push origin HEAD - -force //强推到远程
或者:git push origin +分支名

分支管理命令

git  branch       //查看本地分支
git  branch  -a   //查看所属分支
git  branch  -r   //查看远程分支
git  branch  -d  分支名   //删除<分支名>分支
git  branch  分支名  //创建分支

git  checkout  分支名  //切换到<分支名>
git  checkout  -b     //在当前分支上创建新分支并切换到新分支上
git  checkout  commit ID  //退到/进到  指定commit的sha码 

git  reset  --hard  HEAD^   //回退命令
git  reset  --hard  HEAD~3   //回退到上个版本
git  reset  --hard  commit_id  //回退到n此提交之前

git  merge  分支名        //将<分支名>的修改何如到当前分支上,
                         //在合入成功后将合入后的新文件进行提交
git  merge  origin/master   //将远程主分支合并到本地当前分支

git  log                        //查看提交记录
git  push  origin  --delete <分支名>   //删除远端分支
git  pull                  //抓取远程仓库所有分支更新并合并到本地
git  pull  --no-ff         //抓取远程仓库所有分支更新并合并到本地,不要快进合并
git  fetch  origin         //抓取远程仓库更新

常见问题处理

一、gitHub更新被拒绝
错误提示:“提示:更新被拒绝,因为您当前分支的最新提交落后于其对应的远程分支。
提示:再次推送前,先与远程变更合并(如’git pull…’)
提示:‘git push - - help’中的’Note about fast-forwards’小节。”

原因:引起这个问题是远程仓库和本地不同步引起的。

解决方案:需要先获取远端更新并与本地合并,再git push
1,git fetch origin //获取远程分支更新
2,git merge origin/远程分支名 //把更新的内容合并到本地对应分支

二、要删除gitLab服务器中的项目文件
1,git rm -r - -cached 文件路径 //删除target文件夹(不删除物理文件,仅将该文件从缓存中删除)
2,git rm -f 文件路径 //删除文件(不仅将文件从缓存中删除,还会将物理文件删除,删除的文件不会回到垃圾桶)
3,git commit -m ‘删除了target’ //提交,添加操作说明
4,git push origin master //将本次更改更新到gitHub项目上去

三、windows平台push到github仓库,没有弹出输入密码的提示框,解决办法
在git终端上输入:

//用来清除掉缓存在git中的用户名和密码
git credential-manager uninstall 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值