赞
踩
在安装完Git以后需要设置用户和签名,至于为什么要设置用户签名可以看一下这篇文章【学了就忘】Git基础 — 11.配置Git用户签名说明 - 简书 (jianshu.com)
基本语法:
git config --global user.name 用户名
git config --global user.email 邮箱
查看是否设置成功:
方式一:在git控制台中输入命令git ~/.gitconfig
方式二:查看用户目录小面的.gitconfig文件
拉取代码管理仓库的第二种方式就是通过SSH来获取,首先点击SSH
第二步去配置SSH
第三步,检查本地是否存在密钥,如果存在id_ras(私钥)、id_ras_pub(公钥)这两个文件则说明已经创建过了,直接拷贝即可
$ls ~/.ssh
如果不需要这份可以删除,注意这份密钥没有在使用,移除之后就无法恢复了,之前所使用的地方也需要使用新的:
- $ rm -rf ~/.ssh/id_rsa
- $ rm -rf ~/.ssh/id_rsa.pub
创建密钥(存在密钥的可以跳过) 邮箱记得填写自己的
$ ssh-keygen -t rsa -C "youremail@example.com"
然后将得到的公钥文件里面的内容拷贝到上面,并点击生成
后面在拉取代码的时候就复制SSH链接就行
基本语法:
git init
初始化以后会在项目目录下面多一个.git文件,如果没有,需要打开隐藏目录
基本语法:
git status
提交一个文件以后:
基本语法:
git add
基本命令
git commit -m "日志信息" 文件名
编辑并发布第二个版本:
基本语法:
简单日志:git reflog
详细日志:git log
基本语法:git reset --hard 版本号
在版本控制过程中,同时推进多个任务,为每个任务,我们可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用)
基本语法:
git branch -v
分支前面带*号,表示当前分支
基本语法
git branch 分支名
基本语法
git branch checkout 分支名
在新添加的分支下面修改代码,然后提交到该分支:
基本语法:
git checkout -b 新分支名字
上面从图片中可以看出分支虽然建立成功了,但是没有关联上远程分支,所以在拉去或者提交的时候,控制台中都会报There is no tracking information for the current branch.
这个时候需要手动关联远程分支: git push --set-upstream origin 远程分支名字
或者是使用这种方式来关联:git push --set-upstream origin 本地分支名字:远程分支名字
我们一般在协同开发的时候,有可能需要切换到别人的分支上面去看一下对方是怎么写的,这个时候我们在切换分支之前就需要先将我们的分支提交到本地或者远程,如果没有提交就切换分支:
1.选择强制切换——会导致我们未提交的代码消失,当我们切换回来的时候看到的是我们上一次提交的代码;
2.如果选择智能切换
不仅会影响到自己未提交的代码,操作不当,还会影响到你在别人分支上面看到的代码。别人分支代码是最右侧的,如果你选择了最左侧你的代码,或者是两边代码都选择了,那么你在别人的分支上面看到的代码就不是别人正确的代码。
而且最要命的是如果选择了上面两种,在别人分支上面切换回来的时候又会提示代码冲突,又需要解决冲突,这个时候最好的选择就是强制切换,强制切换以后回到的是上一次提交的代码。如果选择智能切换会出现一下的问题:
合并完分支以后记得提交代码
基本语法:
删除已合并的本地分支——git branch -d 分支名字
强制删除未合并的本地分支——git branch -D 分支名字
删除远程分支——git push origin --delete 分支名字
注意:在删除分支之前需要切换到其他分支
如果你有一次代码提交到了本地仓库,但是没有推送到远程仓库。当你下一次换另一个版本来提交时,会将你前后两次提交到本地的代码都推送到远程仓库:
这个时候如果从新拉取远程的代码,就会拉取到目前远程所展示的代码。我们还会发现,在我们后面的提交中,会看到将test.txt文件移送到test目录下面的这个变化,我们在控制台中使用git status命令的时候,也会发现之前有一个改变没有提交:
当我们将这个改变提交到远程仓库以后,远程仓库对应的代码就会被删除
当然我们我们想在暂存区将这个删除的动作取消,我们可以使用"git restore --staged <file>命令,使用这个命令以后不会改变本地和远程分支目前的代码状况,也就是说,远程分支上面还是会有test.txt文件,而本地分支依然没有该文件。
我们在协同开发的时候,有时候需要把别人的代码拉取到我们自己的分支下面
常见的做法是切换到别人分支,然后拉取最新的代码,然后回到自己的分支,再选择将别人的分支合并到自己分支下面
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。