git基本使用

1:下载 window git

2:设置ssh key秘钥

(1)       Generating a new SSH key

在 git 命令窗口操作

ssh-keygen -t rsa -b 4096 -C your_email@example.com

(2)Adding a new SSH key to your GitHub account

     clip < ~/.ssh/id_rsa.pub

     此时已经复制了你的ssh key 在设置界面添加入你的账户

  

(3)克隆的时候出现问题百度了一堆,配置ssh,原来只需要在clone不要直接回车,直接输入yes就可以了。

3:初步了解git

  创建一个文件提交到git目录下

  git  status     //查看当前状态

git  log       //查看当前日志  --oneline 选项来查看历史记录的简洁的版本。

git  log –autho  //按照作者查看 我们还可以用 --graph 选项,查看历史中什么时候出现了分支、合并。

  git  add       //命令可将该文件添加到缓存

  git  commit    //提交

  git  push      //发布到远程

  git  reset HEAD //可以把版本库中的文件恢复到暂存区index的状态

  当执行 "git reset HEAD" 命令时,暂存区的目录树会被重写,被 master 分支指向的目录树所替换,但是工作区不受影响。

  git rm --cached <file>  //清除暂存区的数据

  git checkout ." 或者  "git checkout -- <file>" 命令时,会用暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区中未添加到暂存区的改动。

  git init  创建一个仓库该命令执行完后会在当前目录生成一个 .git 目录。使用我们指定目录作为Git仓库。

  git clone 我们使用 git clone 从现有 Git 仓库中拷贝项目(类似 svn checkout)。

  git clone <repo> <directory> 参数说明: repo:Git 仓库。directory:本地目录。

  git rm <file> 删除工作区域的目录

  git diff      此命令比较的是工作目录(Working tree)和暂存区域快照(index)之间的差异

也就是修改之后还没有暂存起来的变化内容。

  git reflog    用来记录你的每一次命令:

工作区:就是你在电脑里能看到的目录。

暂存区:英文叫stage, 或index。一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。

版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

4:git的工作流程

一般工作流程如下:

(1)克隆 Git 资源作为工作目录。

(2)在克隆的资源上添加或修改文件。

(3)如果其他人修改了,你可以更新资源。

(4)在提交前查看修改。

(5)提交修改。

(6)在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。

5:解决冲突

(1)       当下载后双方提交的时候会显示当前不是最新版本,表示修改有冲突的地方,需要合并代码进行解决问题的冲突。

  hint: (e.g., 'git pull ...') before pushing again. //合并之前git pull命名

  // git pull 自动合并文件然后你可以进行更改

(2)       各位同学一定要看英文的内容,先翻译一下,git pull 报错ssh错误

  ssh: connect to host github.com port 22: Connection timed out

  解决办法:在.ssh生成的ssh key 文件下创建config文件

  添加以下内容:

Host github.com

User YourEmail@163.com

Hostname ssh.github.com

PreferredAuthentications publickey

IdentityFile ~/.ssh/id_rsa

Port 443

(3)       此时报的合并分支的错误

Auto-merging frist.txt

CONFLICT (content): Merge conflict in frist.txt

Automatic merge failed; fix conflicts and then commit the result.

需要我们自己调整自己提交的错误

==是用来区别发生冲突的地方

6:分支操作

   创建分支命令:  git branch  branch1   git branch (branchname)

   切换分支的命名:git checkout branch1

   合并分支:      git merge

   切换创建分支:  git checkout -b (branchname) 命令来创建新分支并立即切换到该分支下,从而在该分支中操作。

   删除分支:      git branch -d (branchname)

  

(1)创建分支

  git branch    branch1

  git checkout  branch1

  git add .

  git commit –m “备注”

git push

git push --set-upstream origin branch1

git checkout master //切换到主分支

git pull  //更新一下当前的分支

git merge master  //把当前分支合并到master分支

(2)使用branch2分支来修改同一个文件来合并分支操作

同样的操作

git pull

git push

//报冲突的错误跟上面添加冲突类似

git pull //解决定位的冲突然后合并分支

正确步骤:

1. git init //初始化仓库.

2. git add .(文件name) //添加文件到本地仓库.

3. git commit -m "first commit" //添加文件描述信息.

4. git remote add origin + 远程仓库地址 //链接远程仓库,创建主分支.

5. git pull origin master // 把本地仓库的变化连接到远程仓库主分支.

6. git push -u origin master //把本地仓库的文件推送到远程仓库.

执行命令后,git会弹出一个GitHub登陆的小界面,你登录成功后要求你输入用户名和密码。这里的密码并不是你的GitHub的密码或者本地git的密码。

原文地址:https://www.cnblogs.com/love-life-insist/p/12130246.html