近几天在学git版本控制,下面是一篇个人的总结
git的基本操作
在一个文件夹中打开git ,然后输入命令 git init 就创建一个新的版本仓库,在这个文件夹下面会有一个.git 的文件
这样之后,你就可以用git进行这个版本库的操作。
git add 添加到当前目录的所有文件到暂存区,当然也可以 指定文件名,在后面添加即可。执行这个命令之后,文件的修改并没有真正提交到工作区。
但在真正提交代码时要配置 用户信息
$ git config --global user.name "kero"
$ git config --global user.email kero@example.com
每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录。当然我们可以用 git config user.name 查看现在的用户信息。
git commit 这个命令提交代码到工作区
git log 查看版本库的日志
git status 版本库的当前状态
git 与github远程仓库
本地git项目与远程仓库的github是依靠ssh密钥。首先创建一个密钥,再此之前要检查一下本机的ssh密钥
$ cd~/. ssh 如果出现:NO SUCH file or directory 说明你是第一次用,如果不是,清理原有的ssh密钥。
生成新的密钥: ssh -keygen -t rsa -C"defname@qq.com"
此邮箱是你自己的邮箱,直接回车,则将密钥按默认文件进行存储。此时也可以输入特定的文件名,比如/c/Users/you/.ssh/github_rsa
接着就让你输入一个密码,让你提交项目的时候使用。使用复制命令
1
|
clip
<
~
/
.
ssh
/
id_rsa
.
pub
|
将命令粘贴到 github Accout setting --->SSH keys--->add ssh key,然后本地密钥复制进去,add key然后根据提示输入密码。
最后在git 中运行 :ssh -T git@github.com
git remote add origin git@github.com:defname/dddd.git 表示你本地的项目与远程的哪个仓库建立连接。
git remote -v 查看当前项目提交到哪个仓库地址
git push -u origin master 提交到远程仓库
git clone git@github.com:defname/dddd.git 克隆远程的项目
git fetch origin 更新
在本地新建分支并推送到远程
git checkout -b test
git push origin test 这样远程仓库中也就创建了一个test分支
git 的工作流
转自一个仁兄的回答:
git支持很多种工作流程,我们采用的一般是这样,远程创建一个主分支,本地每人创建功能分支,日常工作流程如下:
去自己的工作分支$ git checkout work
工作....
提交工作分支的修改$ git commit -a
回到主分支$ git checkout master
获取远程最新的修改,此时不会产生冲突$ git pull
回到工作分支$ git checkout work
用rebase合并主干的修改,如果有冲突在此时解决$ git rebase master
回到主分支$ git checkout master
合并工作分支的修改,此时不会产生冲突。$ git merge work
提交到远程主干$ git push