Git的使用以及相关命令

工作中有各种版本控制系统,例如SVN、Git,今天就讲讲Git的使用方法以及相关的命令,刚开始使用eclipse中的Git提交代码的(我远程使用的是gitLab),后来发现容易丢代码,用着特别不方便,就开始用命令的方式进行提交代码。本文只讲讲平时最容易使用到的命令,至于太少用的命令就不写出来了

一、:创建本地版本库。

git clone address:address就是你远程仓库的地址,在你本地建立一个文件夹,把你远程仓库的代码克隆到你本地,这样本地仓库就算建立起来了

二、:创建与合并分支。

git branch :查看所有的分支,当前分支前会自动加上*
git branch 分支名:创建分支
git checkout 分支名:切换分支
git checkout -b 新分支名:创建并切换到这个新建的分支上

git branch –d 分支名:删除分支

git merge 分支名:合并某分支到当前分支

三、:代码的提交

git status:查看当前分支上所有已经发生改变的文件,标为红色的文件表示发生修改但是未用git add将该文件

到暂存区,标为绿色的文件表示已经用git add命令将这些文件放到了暂存区

git add 文件名:将某一个修改的文件添加到暂存区,若添加多个文件可以用空格将不同的文件隔开

git add .:将当前修改的所有文件添加到暂存区

git reset 文件名:将已经放到暂存区的文件释放出来,若释放多个文件可以用空格将不同的文件隔开

git reset . :将放在暂存区中的所有文件都释放出来
git commit -m '':''中写注释,注明本次修改的什么,该命令是将暂存区的文件添加到本地仓库
git diff 文件名:查看某个文件到底修改了什么

git pull origin 远程分支名:从远程某一分支上拉取代码。

git push origin 远程分支名:将修改的代码推送到远程分支上

注:若当前分支上有修改的文件,从当前分支上切到其他分支上时会将这些代码也带过去,容易造成代码污染,若想不提交代码的基础上切分支,那就得先隐藏代码,再切分支,至于怎么隐藏代码,看下面的

四、:解决冲突

当你用git pull从远程分支拉取代码以后,可能会发现你本地写代码的工具上某个文件或者某几个文件前面有红色的雪花标记,或者你继续用git push提交代码时,命令窗口提醒你有发生修改的文件,要你用git add 或者git commit 以后再提交,那么就表明你本地的代码跟远程的代码发生了冲突。这时候你就去你写代码的工具上看,找那些带红色标记的文件,打开文件,找到冲突的地方,Git会用<<<<<<<=======>>>>>>>标记出不同分支的内容,解决冲突(要么删除你写的代码,要么删除远程上拉下来的代码,再或者两处代码都删除,你自己看情况改),同时记得将<<<<<<<=======>>>>>>> 删除,然后保存

解决完所有的冲突文件以后,接下来就跟正常提交代码一样,用git add 讲你修改后的文件添加到暂存区,再用git commit -m '' 将暂存区的文件放到本地仓库,为了防止解决冲突的时候有其他同事提交代码了,再用git pull 从远程仓库拉取一次代码,若再出现冲突,就按照以上步骤再来一遍,知道没有冲突了,最后用git push 将解决冲突的代码和原来修改的文件都提交到远程仓库

五、:版本回退
git log :查看历史记录,显示从最近到最远的显示日志,每个commit上的一串英文加数字就是你每次commit以后的版本号

git reset  --hard 版本号 :回退到相应的版本(中间版本的代码全都没了)

git reset 版本号 :回退到相应的版本(中间版本修改的代码仍然存在)

git reset  --hard HEAD^:回退到上个版本, 那么如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推

git reset  --hard HEAD~100:如果要回退到前100个版本的话

git log --pretty=oneline:.如果嫌上面显示的信息太多的话,我们可以使用命令
git checkout 文件名: 舍弃文件的修改

六、:文件的隐藏

git stash:可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作
git stash list:查看隐藏的现场,如果隐藏了两次,则会出现两个
工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下,有两个办法:
一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
另一种方式是用git stash pop,恢复的同时把stash内容也删了,所以一般我经常用git stash pop

所以提交代码时,若有些代码因为某些原因而在本次提交时不想提交,那么就可以将这些不想提交的代码隐藏,等把那些想提交的提交了以后再将隐藏的文件释放出来

将要提交的代码git add 文件名 ,git commit -m '' 以后,针对不想提交的代码,先git add 文件名,然后用git stash将这次添加到暂存区的文件隐藏起来,当提交完代码以后,记得用git stash pop 将隐藏的代码释放出来。释放出来以后文件的状态还是未add到暂存区的状态,因此也可不add就stash

注:1.若用git stash 隐藏的多次,则就要用git stash pop释放多次,不然使用一次git stash pop只会释放最近一次隐藏的文件,前几次的都还在隐藏

2.若在A分支上将代码隐藏了,然后切到B分支,则A分支的代码不会带B分支上,但不能切过去就直接用git stash pop,那样会导致A分支上隐藏的代码在B分支上释放出来了,会导致代码污染。若B分支上也想隐藏代码,则可以用git stash将先代码隐藏,这时候用git stash pop就没事,因为会释放最近一次的,也就是B隐藏的代码,若再用给git stash pop,则释放的就是A上面隐藏的代码了

3.git stash直接将add以及未add的文件一次性都隐藏起来,pop以后文件都是未add的状态

四、:强制提交

git push -u origin 分支名 -f:本地代码强制提交,本地代码强制覆盖远程的代码

git push origin test:master   // 提交本地test分支作为远程的master分支 //好像只写这一句,远程的github就

会自动创建一个test分支

ssh-keygen  -t rsa –C 'youremail@example.com':生成ssh秘钥

五、本地项目传到远程仓库

git init,本地创建.git文件

git remote add origin + 你刚刚在码云复制的那行路径(若配置的是ssh公钥,则使用ssh的路径)

git pull origin master:拉取代码,然后就是添加之类的

六、移除跟远程项目的关联

git remote -v 

git remote remove origin 

七、重置git配置

git config --system --unset credential.helper

最简单的还是把本地项目的.git文件删除就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值