赞
踩
- 设置用户(目的在于可以在远端看到是谁提交了内容,更方便公司的管理)
- 1、设置全局用户(在家路径下创建用户,每个项目都用这一个用户)
- >: git config --global user.name 'manba '
- >: git config --global user.email 'manba@163.com'
- 2、设置局部用户(局部是指在某个项目下创建用户,可以在不同项目下创建不同用户)
- >: git config user.name 'manba '
- >: git config user.email 'manba@163.com'
-
- 初始化仓库,让git接管你的项目
- git init
-
- 查看有什么文件
- ll
-
- 查看仓库状态
- git status
- -红色:新建,修改,删除,在工作区没有放到暂存区
- -绿色:放到暂存区,没有提交到版本库
- -没有东西:说明所有变更都被版本管理起来了
-
- 将当前路径下的所有变更提交到暂存区
- git add
-
- 删除文件
- git rm --cached hello.txt
-
- 将暂存区的内容提交到版本库
- git commit -m "THIS IS MY CODE" HELLO.txt
-
- 打印此文件
- cat hello.txt
-
- 在git里面修改
- vim hello.txt
- 进入io界面
- //注意老师用的是vim学生阶段不推荐学习vim因为vim学习成本高,
- 学习很长时间才能看到正面反馈,显然这对于学生来说是不好的,
- 要找到工作在学不迟,学生阶段不用琢磨这个//
- 点一下键盘i,修改内容
- vi后输入i表示进入编辑模式,输入完毕后按esc键退出编辑模式,
- 输入“:wq”表示保存并推出,都是linux的基本操作,可以先去学习Linux
-
- 查看版本管理日志
- git log # 显示作者,版本号,注释
- git reflog # 显示精简信息(版本切换也会显示)
-
- 版本穿梭
- 撤销版本库提交,回到原有的版本当中去
- git reset --hard 版本号
-
- 撤销工作区操作
- git checkout .
-
- 撤销暂存区操作
- git reset .
- git分支操作
- 类似于副本的东西,但是不是
-
- 仅在工作区进行修改后,切换到其他分支,在返回该分支后可能会出现异常,建议修改后及时上传暂存区、本地库
-
- 查看分支
- git branch -v
- 创建分支
- git branch 分支名字
- 切换分支
- git checkout 分支名字
-
- 合并分支
- git merge 要合并的分支名字
- 冲突的合并分支
- 即代码有两套不同的分支
此时合并失败了,需要手动合并代码
master 和 fix-hot 在同一个版本的基础上都进行了修改,merge就是新的覆盖旧的,此时相对基础版本都是新的,git不知道哪个是新,哪个是旧
- 在vim中手动进行操作,然后进行一下add
- 在提交本地库中,将要
- git commmit -m "merge text"
- 不要加名字!/
- 总结:合并不冲突是因为,hotfix复制了master后master没有再次修改,所以合并时直接覆盖。而冲突是hotfix复制后,master和hotfix都修改了,所以冲突
团队内协作和跨团队协作
邀请加入团队
setting ->Manage access ->invite collaborotor
把邀请函密钥复制下来,发给B
B在浏览器里打开该网站,按照提示操作即可
其他人打开你的github库,可以在线修改代码。
远程库的名字一般和本地的是一样的
他人对于github的远程库,点击fork,操作进行pull request
本人就会收到 pull request,审核后即可merge pull request
- git remote -v
- 查看当前所有远程地址别名
-
- git remote add git-demo URL
- 添加地址别名
-
- git push 别名 分支名
- 推送文件向github服务器
现在github要用ssh关联上终端然后用令牌登陆就可以push上去了。
原因如下:如果ssl证书未经过机构认证。会认为未知的没有签署过的证书意味着可能存在很大的风险。
2021年8月13日起,Github不再支持使用密码push!老师这个push方法过时了
第一次push 需要加 -u 完整命令 git push -u 别名 master ,自己git 登录的浏览器一定要和认证打开的浏览器是同一个,一直超时,连接手机热点,再上传 看看就好
记得删除凭据管理器的凭据
- 拉取远程github库
- git pull git-demo master
-
- 任意拉取一个库
- git clone URL
- //克隆是本地没有时用的,拉取是本地已经有了的时候用的//
- clone会干三件事,1,拉取代码2.初始化本地库3.创建别名
在C盘里面用户下有.ssh的文件夹,使用以下的命令生成
- ssh-keygen -t rsa -C XXXX@163.com
- //然后敲三次回车
加密算法可以使用 Ed25519,一般只要不是太旧的机器都支持,比rsa好
打开rsa.pub就是你的私钥
pull是拉取,针对的我已经有本地仓库,但是和远程库数据不同步的情况,克隆是连本地库都没有,直接从远程库copy一份到本地当作本地库
需要忽略一些没有必要的东西
在用户文件夹下,新建一个git.ignore,忽略什么就 *.什么
下面是对IJ的样例文件
- # Compiled class file
- *.class
-
- # Log file
- *.log
-
- # BlueJ files
- *.ctxt
-
- # Mobile Tools for Java (J2ME)
- .mtj.tmp/
-
- # Package Files #
- *.jar
- I
- *.war
- *.nar
- *.ear
- *.zip
- *.tar.gz
- *.rar
-
- # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid*
-
- .classpath
- .project
- .settings target
- .idea
- *.iml
对于gitconfig文件,可以变成
- [user]
- name = Layne
- email=Layne@atguigu.com
- [core]
- excludesfile = C:/Users/asus/git.ignore
- //windows是反斜线
在你的idea里面,setting-> version control ->选择自己所在文件里面的git.exe
VCS里面create git resposbility
右键文件,git--->add
这里不需要add了吧,idea貌似暂存区概念很弱,追踪后默认就是commit -a的
可以点击那个双向箭头(Show Diff)对比显示修改的代码
idea的下角有version control -》log可以看到版本迭代
右键版本,点击checkout即可
右键文件---》git----》----》repository---》Branches-----》new branch
或者idea下角有 git:master,点击即可
marge into current
有冲突的时候:会出现merge,手动更改一下
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。