介绍
github、gitee码云是公有代码仓库(互联网),gitlab是私有的常用于公司内部(局域网)
代码推送push、代码拉取pull、代码克隆clone
- 工作区:代码所在目录(而非开发工具idea等)
- 暂存区:临时存储(可以使用命令删除)
- 本地库:历史版本(形成版本不能删除)
- 远程库:如gitee等,通过本地库git push可进入
➡️
查看当前git版本号
$ git --version git version 2.44.0.windows.1
git常用命令
注:第一二条命令设置于gitee等代码仓库账号没有关系,但是不设置提交代码可能会报错
在git bash页面可以输入linux命令
如 ls -a
其中4、5条可搭配./*使用表示将当前目录所有文件git add
第10条命令示例:
34998@LAPTOP-8SD8P8B9 MINGW64 /d/桌面/Study/markdown (master)
$ git reflog
51b3698 (HEAD -> master) HEAD@{0}: commit: second commit
f293c29 HEAD@{1}: commit (initial): first commit
34998@LAPTOP-8SD8P8B9 MINGW64 /d/桌面/Study/markdown (master)
$ git reset --hard f293c29
HEAD is now at f293c29 first commit
34998@LAPTOP-8SD8P8B9 MINGW64 /d/桌面/Study/markdown (master)
$ git reflog
f293c29 (HEAD -> master) HEAD@{0}: reset: moving to f293c29
51b3698 HEAD@{1}: commit: second commit
f293c29 (HEAD -> master) HEAD@{2}: commit (initial): first commit
序号 | 命令内容 | 作用 |
---|---|---|
1 | git config --global user.name 用户名 | 设置用户签名 |
2 | git config --global user.name 邮箱 | 设置用户邮箱 |
3 | git init | 初始化本地仓库 |
4 | git status | 查看状态 |
5 | git add 文件 | 将文件加入暂存区开始受git管理,追踪,每次修改需要重新追踪 |
6 | git rm --cached 文件 | 删除暂存区的该文件 |
7 | git commit -m “日志信息” 文件名 | 将暂存区文件提交到本地库,同5每次修改也需要重新提交 |
8 | git reflog | 查看文件更新版本信息 |
9 | git log | 比8更详细一点,版本号也更长一点 |
10 | git reset --hard 版本号 | 回溯版本至该版本号 |
git分支操作
常用命令
命令内容 | 作用 |
---|---|
git branch -v | 查看分支信息 |
git branch 分支名称 | 创建新分支 |
git checkout 分支名称 | 切换当前分支 |
git merge 分支名称 | 把指定的分支合并到当前分支上 |
合并冲突
产生冲突的原因:合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。git无法替我们决定使用哪一个,必须认为决定新代码内容。
解决方法:
- 手动打开该代码文件,编辑vim,head表示当前分支的代码文件内容,而========下面则是需要合并的分支的同一位置不同内容,通过删除想要预留的结果,保存文件。
- 再接着执行git add 、git commit操作,git add 常规,但是需要注意的是git commit …… 后面接的文件名不能加。
远程仓库
常用命令
序号 | 命令内容 | 作用 |
---|---|---|
1 | git remote -v | 查看当前所有远程地址别名 |
2 | git remote add 别名 远程地址 | 给远程地址起别名 |
3 | git push 别名 分支 | 必须指定分支,别名也可以用地址 |
4 | git pull 别名 分支 | 拉取远程库对应分支的代码 |
5 | git clone 远程地址 | 克隆远程仓库代码到本地(可以不需要登录本地账号) |
注意事项
-
第二条命令执行后生成两个别名第一个用于拉取pull,第二个用于推送push,
-
并且在push之前最好要先pull拉取仓库的代码,本地push的代码不能比远程仓库的代码版本低。
-
使用idea的在github上新创建一个远程仓库时如果使用破解版idea可能会出现链接不成功的情况,可以尝试一下在github上自己新建一个仓库然后再用push填写仓库连接上传。
34998@LAPTOP-8SD8P8B9 MINGW64 /d/桌面/Study/markdown (master)
$ git remote -v
markdown https://github.com/78687dfgjn/markdown.git (fetch)
markdown https://github.com/78687dfgjn/markdown.git (push)
34998@LAPTOP-8SD8P8B9 MINGW64 /d/桌面/Study/markdown (master)
在第一次使用第三条命令时,git会让你登录,我试了我直接用浏览器的方式登录不行,然后我选择用github个人token登录成功了
同时可能需要设置
先执行这个git config --global http.sslVerify false
以下可以帮助理解三个指令的关系:
ssh免密登录协议
以下命令用于生成ssh公钥与秘钥,在github账号里添加公钥
ssh--keygen -t rsa -C github邮箱
设置以后就可以直接使用git pull ssh地址 分支名称去拉取代码而不需要验证了,push操作同理
push、pull操作忽略文件列表
git.ignore模版文件
将模版文件放在用户家目录下
内容:
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
hs_err_pid*
.classpath
.project
.settings
target
.idea
*.iml
接着在用户家目录下的.gitconfig文件中添加这句话
[core]
excludesfile = 上面的ignore文件的路径