Git链接备用手册
三板斧及其他:
git init:初始化git仓库
git add . :将所在文件夹中的所有文件加入到暂存区
git commit -m '自定义记录信息' :将暂存区中的数据放到Git的仓库(本地)中,并进行记录(自定义)
git-log :由自己配置出来将复杂的查看Git记录的消息归结为此的命令
以下为Git的基本工作原理:
查看当前数据的状态: git status
版本回退: git reset --hard commitID
查看之前所有的commitID号: git reflog
.gitignore 文件来进行过滤不需要的文件:
基本的格式:
# 不跟踪 .a 文件
*.a
# 但特别跟踪 lib.a,尽管上面忽略了所有 .a 文件
!lib.a
# 仅忽略当前目录下的 TODO 文件,不忽略子目录中的 TODO
/TODO
# 忽略 build/ 目录下的所有文件
build/
# 忽略 doc/notes.txt,但不忽略 doc/server/arch.txt
doc/*.txt
# 忽略 doc/ 目录及其子目录中的所有 .pdf 文件
doc/**/*.pdf
分支:
以Head标识的为现主支
查看本地分支 命令:git branch
创建本地分支 命令:git branch 分支名
切换分支(checkout) 命令:git checkout 分支名
我们还可以直接切换到一个不存在的分支(创建并切换) 命令:git checkout -b 分支名
合并分支(merge) 一个分支上的提交可以合并到另一个分支 命令:git merge 分支名称
删除分支 不能删除当前分支,只能删除其他分支 git branch -d b1 删除分支时,需要做各种检查 git branch -D b1 强制删除
解决问题:
当不同的用户修改到同一行的数据时,合并或者commit时会出现冲突,即:
所以需要手动进行修改,确定出最终的答案再重新上传即可。
远程上传:
Git的总原理:
在跟远程的仓库连接时,需要某种的东西来达成安全的传输,这里我们使用SSH密钥来:
配置SSH公钥
生成SSH公钥 ssh-keygen -t rsa
设置账户共公钥 获取公钥 cat ~/.ssh/id_rsa.pub
验证是否配置成功 ssh -T git@gitee.com
添加远程仓库:git remote add <远程名称(默认origin)> <仓库位置(URL)>
git remote add origin git@gitee.com:czbk_zhang_meng/git_test.git
查看远程仓库信息:git remote
推送到远程仓库:git push [-f] [--set-upstream] [远端名称 [本地分支名][:远端分支名] ]
git push --set-upstream origin master:一s般使用此,这样可以使本地与远端进行连接,后续可以直接操作,不需要每一个操作中加远程名称;
查看关联关系: git branch -vv
如果已经有一个远端仓库,我们可以直接clone到本地。
命令: git clone [本地目录] 本地目录可以省略,会自动生成一个目录
从远程仓库中抓取和拉取 远程分支和本地的分支一样,我们可以进行merge操作,只是需要先把远端仓库里的更新都下载到本地,再进行操作。
抓取 命令:git fetch [remote name] [branch name] 抓取指令就是将仓库里的更新都抓取到本地,不会进行合并.如果不指定远端名称和分支名,则抓取所有分支。
拉取 命令:git pull [remote name] [branch name] 拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge 如果不指定远端名称和分支名,则抓取所有并更新当前分支。常用。
解决冲突:
在一段时间,A、B用户修改了同一个文件,且修改了同一行位置的代码,此时会发生合并冲突。 A用户在本地修改代码后优先推送到远程仓库,此时B用户在本地修订代码,提交到本地仓库后,也需要 推送到远程仓库,此时B用户晚于A用户,故需要先拉取远程仓库的提交,经过合并后才能推送到远端分支
v studio上的Git:
即需根据对应的按钮进行操作即可,注意在连接远程的仓库中,我们使用的http的路径和使用gitee里面的个人密令进行安全连接,随后推送即可