Git And Github

Git常规 操作

avatar

上传

背景:已经在github上面建好了repository

  1. 在项目文件下运行git初始化 git init /git clone url更加方便

  2. 设置项目信息

    姓名:git config --global user.name "Frank"
    邮箱:git config --global user.email "frankhelpful@163.com"

  3. --查看状态 ,git status 红名为正在Working的文件 ,在本地还未保存

    这里有一个概念:Working directory ——》Staging area ——》 repository

    • Working directory当前的工作目录
    • Staging area 暂存区域,从working提交到这里
    • repository,保存好的文件再推送到repository
  4. 保存文件【保存后,再使用status命令看一下是否有漏掉的文件没有添加】

    • 保存指定文件 git add JTreeView.cs
    • 保存所有文件 git add . 表示所有在Working directory的文件都会添加到Staging area
  5. 存档描述 git commit -m "TreeView libray"

    commit将所有在Working directory的文件生成档案,并且加备注,如果有同事和你修改的档案有冲突,则需要解决冲突,在重新commit再去push

  6. --查看状态 git status

    On branch master //当前在master分支上
    nothing to commit, working tree clean //working directory本地都已经提交上去了

  7. 连接github: git remote add origin https://github.com/alex1997cheer/JTreeView.git

    确认连接是否设置成功: git remote -v 下面会显示刚才的连接地址

  8. 获取最新档案,git pull origin master

获取项目的最新档案,对比git服务器的档案和当前生成的档案是否存在冲突,解决冲突后push
  1. 提交 git push origin master 提交到master分支

分支

常用的分支操作命令

  1. 查看分支
    git branch -a

  2. 新建分支
    git branch dev

  3. 切换分支
    git checkout 分支名
    git checkout -b 分支名 创建且切换分支

  4. 删除本地分支
    `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 撤销新生成的文件
原文地址:https://www.cnblogs.com/tangpeng97/p/13288389.html