了解git和svn很久了,但是一直没有拿来做过版本控制管理,虽然svn有用到过,但是觉得还是运用git的比较多吧,尤其github。
Git术语
索引
Git 需要将代码的变化显示的与下一次提交进行关联。举个例子,如果你对一个文件继续了修改,然后想将这些修改提交到下一次提交中,你必须将这个文件提交到索引中,通过git add file命令。这样索引可以保存所有变化的快照。
新增的文件总是要显示的添加到索引中来。对于那些之前已经提交过的文件,可以在commit命令中使用-a 选项达到提交到索引的目的。
Git安装
在Ubuntu上,可以通过apt来安装git命令行工具
sudo apt-get install git-core
Git配置
你可以在.gitconfig文件中防止git的全局配置。文件位于用户的home目录。上述已经提到每次提交都会保存作者和提交者的信息,这些信息都可以保存在全局配置中。后续将会介绍配置用户信息、高亮显示和忽略特定的文件。
用户信息
通过如下命令来配置用户名和Email
git config --global user.name "Example Surname"
git config --global user.email "your.email@gmail.com" # Set default so that all changes are always pushed to the repository git config --global push.default "matching"
获取Git配置信息,执行以下命令:
git config --list
git config --global color.status auto
git config --global color.branch auto
忽略特定的文件
可以配置Git忽略特定的文件或者是文件夹。这些配置都放在.gitignore文件中。这个文件可以存在于不同的文件夹中,可以包含不同的文件匹配模式。为了让Git忽略bin文件夹,在主目录下放置.gitignore文件,其中内容为bin。
同时Git也提供了全局的配置,core.excludesfile。
使用.gitkeep来追踪空的文件夹
Git会忽略空的文件夹。如果你想版本控制包括空文件夹,根据惯例会在空文件夹下放置.gitkeep文件。其实对文件名没有特定的要求。一旦一个空文件夹下有文件后,这个文件夹就会在版本控制范围内。
github操作
ssh-keygen -t rsa -C "xxx@mail.com"
点击右上角的 Account Settings--->SSH Public keys ---> add another public keys
把你本地生成的密钥(~/.ssh/id_rsa.pub文件中)复制到里面(key文本框中), 点击 add key 就ok了
ssh -T git@github.com
如果提示:Hi defnngj You've successfully authenticated, but GitHub does not provide shell access. 说明你连接成功了
击页面右下角“New Repository”
填写项目信息,点击“Create Repository” ; 现在完成了一个项目在github上的创建。
git clone git@github.com:xxxx/xxxxx-demo.git //git clone git@github.com:用户名/项目名字.git
git add .
git commit –m ”new files” git push
#或者
git remote add origin git@github.com:xxxx/xxxx-demo.git
git fetch origin //取得远程更新,这里可以看做是准备要取了 git merge origin/master //把更新的内容合并到本地分支/master
git remote -v //查看你当前项目远程连接的是哪个仓库地址。 git status //查看当前项目下所有文的状态,
git remote add origin git@github.com:xxxx/xxxx-demo.git
我是天王盖地虎的分割线