Git And Github
Git常规 操作
上传
背景:已经在github上面建好了repository
-
在项目文件下运行git初始化
git init
/git clone url
更加方便 -
设置项目信息
姓名:
git config --global user.name "Frank"
邮箱:git config --global user.email "frankhelpful@163.com"
-
--查看状态 ,
git status
红名为正在Working的文件 ,在本地还未保存这里有一个概念:Working directory ——》Staging area ——》 repository
- Working directory当前的工作目录
- Staging area 暂存区域,从working提交到这里
- repository,保存好的文件再推送到repository
-
保存文件【保存后,再使用status命令看一下是否有漏掉的文件没有添加】
- 保存指定文件
git add JTreeView.cs
- 保存所有文件
git add .
表示所有在Working directory的文件都会添加到Staging area
- 保存指定文件
-
存档描述
git commit -m "TreeView libray"
commit将所有在Working directory的文件生成档案,并且加备注,如果有同事和你修改的档案有冲突,则需要解决冲突,在重新commit再去push
-
--查看状态
git status
On branch master //当前在master分支上
nothing to commit, working tree clean //working directory本地都已经提交上去了 -
连接github:
git remote add origin https://github.com/alex1997cheer/JTreeView.git
确认连接是否设置成功:
git remote -v
下面会显示刚才的连接地址 -
获取最新档案,
git pull origin master
获取项目的最新档案,对比git服务器的档案和当前生成的档案是否存在冲突,解决冲突后push
- 提交
git push origin master
提交到master分支
分支
常用的分支操作命令
-
查看分支
git branch -a
-
新建分支
git branch dev
-
切换分支
git checkout 分支名
git checkout -b 分支名
创建且切换分支 -
删除本地分支
`git branch -d 分支名
Git命令
查看提交记录
git log --pretty=oneline
远程连接
git remote rm origin 删除远程连接
git remote set-url origin xxxxxxx 设置https连接或SSH Key连接
回滚到指定版本
git reset --hard 版本号 //回滚
git push -f origin master //强制提交
SSH Key配置
ssh-keygen -t rsa -C 'xxx@xxx.com' 然后一路回车(-C 参数是你的邮箱地址)
复制id_rsa.pub文件中的Key粘贴到项目中sshkey配置文本框就可以了
中文路径乱码设置
`git config --global core.quotepath false`
错误
fatal: refusing to merge unrelated histories
想要把本地的仓库合并到远程仓库,2个独立的库是无法合并的,可以使用命令
git pull origin master --allow-unrelated-histories
建议建库的时候直接用clone,可以避免很多问题
fatal: you are not allowed to push code to protected branches on this project
无法覆盖强制覆盖,gitlab对该分支进行了保护
解决方法: Setting -> Repository -> Protected branches 设置为unprotected就行了
想要把本地的仓库合并到远程仓库,2个独立的库是无法合并的,可以使用命令
git pull origin master --allow-unrelated-histories
建议建库的时候直接用clone,可以避免很多问题
nothing added to commit but untracked files present (use "git add" to track)
项目新生成的文件,未添加到working directory中,两种选择
1. git add 将文件添加到working directory中
2. git reset 撤销新生成的文件