git常用命令总结

*Git优势:本地库和远程库都有记录,防止数据丢失。*

*操作本地库:*

git init 初始化.git文件

签名用来区分不同开发人员,和登陆GitHub远程库的账号密码无关。一般,不同项目,设置系统级别就行了。

项目级别签名认证:设置保存在.git/config文件里面。

git config user.name xxx

git config user.email xxx

系统级别签名认证:设置保存在系统用户目录user/.gitconfig文件里面。

git config --global user.name xxx

git config --globa user.email xxx

git status 查看暂存区、本地库状态

touch a1.php 创建文件

vim a1.php 创建文件,并编辑文件

git add a1.php 添加文件到暂存区

git rm --cached a1.php 从暂存区移除文件

git commit -m ‘描述信息’ a1.php 从暂存区提交到本地库(可以不add,直接commit,后悔的话没法从暂存区撤销)

*查看版本*:git log(最详细)、git log --oneline(一行)、git reflog(一行、推荐使用这种)

*版本修改*:git reset --hard 复制的索引字符(还有另外两种方式、推荐这种)

版本修改hard、 mixed 、soft的区别:hard本地库、暂存区、工作区全都更改到该版本;

mixed本地库、暂存区;soft本地库。推荐直接hard。

*永久删除文件后(commit提交过删除文件),找回*:回退版本。

添加到暂存区删除文件找回(只add过,此时未生成新版本):git reset --hard HEAD 回退到最近一次记录的版本,或者其他版本,git reset --hard 其他版本索引

*比较文件*:git diff apple.txt 工作区和暂存区比较

git diff HEAD apple.txt 工作区和本地库比较

git diff HEAD^ apple.txt 工作区和上一版本本地库比较

不加文件名比较任意多个文件的不同。

*本地分支*:多线并进、相互独立master主干+其他

git branch -v:查看分支版本

git branch 分支名: 创建分支

git checkout 分支名:切换分支

某一分支1下执行:git merge 分支名2,将分支2合并到分支1

若有冲突:提示冲突文件,分支名变成,分支名|MERGING,打开工作区文件,提示冲突部分。确定如何解决问题,修改好文件后,git add、git commit结束merging状态。注意git commit不要带文件名。

删除本地某个分支:git branch -d 分支名

*本地库和远程库交互:*

创建本地库、创建远程库,文件名不要求一样

git remote add origin git地址:为git地址创建origin别名(fetch+push)

git remote -v:查看地址别名

git push origin 分支名1:由本地分支push到远程分支1,远程库无分支1,则为远程库创建分支1。需要登陆。凭据管理器可能会记住密码。

git clone 远程库地址:克隆master主分支。1.克隆2.创建远程地址别名origin3.初始化本地库

git clone -b <指定分支名> <远程仓库地址>克隆某一分支。

加入团队:未加入团队,不可git push,会报错。远程库settings发送邀请连接,同意。

pull=fetch+merge。先fetch查看,再merge更保险。也可直接pull。

git fetch 远程库地址名 远程分支名:只是下载远程分支到本地,不会更改本地工作区文件。

git checkout origin/master切换到下载的分支,查看内容后,git checkout master切换回原分支。确定可merge后,merge。*远程的origin/master分支,在本地的分支名为master。本地的分支名和远程仓库的分支名一一对应。*

git merge 远程库地址名/远程分支名。

git pull origin master:直接拉取远程库分支到本地分支。

若原先两人和远程库相同版本,一人修改版本,本地库push到远程库后,另外一个人也修改,但是无法push,必须先pull远程修改的最新版本,进入MERGING状态,再重新修改,add、commit,再push。

*跨团队协作*:fork成为自己的远程库、git clone自己的远程库、git push 到自己的远程库,因为不是项目成员,不可直接push到主团队。登陆到自己的远程库,new pull request、create pull request。主团队到自己的远程库,pull request查看,跨团队扣字交流,查看更改内容,确定merge pull request、confirm merge添加日志信息。主团队pull后,结束。

*使用SSH,Push免登陆*: git remote add origin_ssh ssh地址,之后使用origin_ssh。

****远程仓库回退版本:****自己的远程仓库分支回退:git reflog, git reset --hard Obfafd,紧接着强制推送到远程分支到当前版本:git push -f。注意:本地分支回滚后,版本将落后远程分支,必须使用强制推送覆盖远程分支,否则无法推送到远程分支。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值