git可以用u盘git 打开文件吗

Git很火,原因有三:
它是大神Linus Torvalds的作品,天然地具备神二代的气质和品质;
促进了生产力的发展,Git的分布式版本控制理念,并非首创,但非常适合开源社区的协作方式(不存在master-slave的关系)
GitHub很好,号称代码界的facebook.
facebook,twitter,Microsoft,vmware,redhat,LinkedIn,Yahoo等公司都在GitHub上有建立数目不等的repositories。一些知名开源项目,例如jQuery, Ruby on Rails,node.js都把src code寄存于GitHub上。GitHub太成功了,以至于使很多人产生误解,以为git就是GitHub,使用git就必须连接GitHub。事实上,GitHub只是一个提供git repository hosting服务的网站。
本文试图讲解如何在U盘上创建git repository(使U盘成为你的私有代码云);以及如何在不同客户端进行同步作业。把git repository建在USB盘上能满足多种应用场景,特别是:
注重私密性(GitHub上普通账号不能创建私有repository)
网速很慢,甚至断网的时候需要同步
但不适合需要强collaborate的项目。
先把git给装好了…然后…我们有了两台git ready的电脑,和一个U盘。
1,初始化本地repository
假设有一个存在的项目,需要由git接管版本控制,那么来到这个%projct_home%目录(例如我的git_sandbox)下step 1.1
$ git init git_sandbox&
创建.gitignore文件(在%project_home%下,只对这个project有效),排除路径下不需用被提交到repository中的文件(例如.svn,.class, Thumbs.db…)
查看当前文件状态,可以看到有一堆"untracked files"
把所有"untracked files"加入索引
提交到repository
$ git commit -m "initialized."
&2, 搞到U盘上去
插上U盘,查看U盘挂载路径
我的路径是"/Volumes/KINGSTON"
在U盘上创建一个repository,
$ mkdir /Volumes/KINGSTON/workspace/usbGitSpace/gitusb_sandbox
$ cd /Volumes/KINGSTON/workspace/usbGitSpace/gitusb_sandbox
$ git init --bare
使用-bare选项创建的repository被称作bare repository,它不会包含working目录(只包含.git目录下的内容),所以不适合在上面改code。bare repository主要的作用就是被push和pull。根据GitFaq的说法:
A quick rule of thumb is to never push into a repository that has a work tree attached to it, until you know what you are doing.
回到本地%project_home%,把初始化后的usb repository添加为remote repository
$ git remote add usb /Volumes/KINGSTON/workspace/usbGitSpace/gitusb_sandbox
将本地的repository push到usb上
$ git push usb master
3, 同步到另一台电脑
在另一台电脑上先创建一个本地repository
$ cd ~/my_gitspace/sandbox_win $ git init
把U盘插到这个电脑上,查看当前挂载的路径,添加U盘作为当前repository的remote repository
$ git remote add usb /cygdrive/f/workspace/usbGitSpace/gitusb_sandbox
把U盘上的内容拉下来
$ git pull usb master
好了,代码同步到另一台机器上了
4, 测试一下
改动一下文件,比如README.txt
$ git add README.txt
$ git commit -m "update from another laptop"
$ git push usb master
插回原来的laptop
$ git pull usb master
查看提交历史
发现两台电脑上提交的记录都在log里面
好了,成功。现在U盘成为了你的GitHub,你和你的代码之间,再没有阻隔。
当然,最后,需要定期给U盘做一个备份。技术发展到今天,数据安全靠天吃饭的日子已经一去不复返了,没有什么U盘,硬盘是靠得住的。
阅读(...) 评论()是否显示隐藏文件夹的终端命令:defaults write com.apple.finder AppleShowAllFiles YESdefaults write com.apple.finder AppleShowAllFiles YES
1.git工作原理和git下的文件夹(1)工作区:仓库文件夹里除了.git目录以外的内容;(2)版本库:.git目录,用于存储记录版本信息; 暂缓区(stage); 分支(master)git自动创建的分支; HEAD指针:用于指向当前分支;
一、git简介1.git和svn对比:(1)很多情况下,git的速度远远比SVN快;(2)SVN是集中式管理,git是分布式管理;(3)SVN使用分支比较笨拙,git可以轻松拥有多个分支;(4)SVN必须联网才能正常工作,git支持本地版本控制工作;(5)分布式和集中式最大区别:在分布式下时候: 开发者可以本地提交代码; 每个开发者机器上都有一个服务器的数据库;
2.git(1)git init :初始化一个代码仓库(2)使用git前必须配置用户名和邮箱git config user.name &CYJ&git config user.email &&(3)给git配置全局的用户名和邮箱git config &global user.name &CYJ&git config &global user.email &&
3.初始化项目touch main.m
创建文件git status
查看状态git add main.c
将文件添加到暂缓区 (git add . 将在工作区中所有不再暂缓区中的所有格内容添加到暂缓区中)git commit -m "初始化项目" main.m
:将暂缓区中的内容提交到本地版本库,清空暂缓区注意:添加的文件或者是修改的文件都需要通过add命令添加到暂缓区
4.git status
查看状态不同颜色代表不同状态红色:该文件被添加或者修改,但是没有添加到git的暂缓区;绿色:文件在暂缓区中,但是没有被添加到本地版本库;
5.git工作原理(1)工作区:仓库文件夹里除了.git目录以外的内容;(2)版本库:.git目录,用于存储记录版本信息; 暂缓区(stage); 分支(master)git自动创建的分支; HEAD指针:用于指向当前分支;(3)git add:把文件修改或者新添加的文件添加到暂缓区;git commit 把暂缓区的所有内容提交到当前分支;
6.(1)给命令行起别名:git config alias.st &status&
给status起一个st别名;git config &global alias.st &status&
给status起一个全局别名;(2)删除文件:git rm 文件名
删除指定的文件 (3)查看版本信息:git log :版本号(是由sha1算法生成的40位哈希值 )git reflog
:可以查看所有版本回退的操作(4)版本回退git reset &hard HEAD
:回到当前版本;git reset &hard HEAD^ :回到上一个版本;git reset &hard HEAD^^
:回到上上个版本;git reset &hard HEAD~n
:退回到前n个版本;git reset &hard 版本号(前5位) :回到指定的版本;
做上面的任意一个操作是在本地版本库中进行回退的,还需要将共享版本库中保存的也回退(注意:此操作不可逆)get push -f
强制push到共享版本库;
二、共享版本库及使用git管理项目1.共享版本库(1)git服务器的搭建非常繁琐;可以把代码托管到(GitHub/OSChina);也使用一个文件夹或者一个U盘;(2)git init --bare 使用一个文件夹作为一个共享版本库(3)将共享版本库的所有文件下载下来git clone 共享版本库地址
2.删除忽略文件 touch .gitignore
创建一个.gitignore文件 ; 去gitHub上将内容复制到.gitignore文件中; git add .gitignore:把.gitignore文件添加到暂缓区; git commit -m &注释& .gitignore :将暂缓区中的内容提交到master分支中;3.初始化项目在Xcode中的git对应的人员的文件夹中创建新的项目;点击source Control,点击commit进行提交本地版本库;点击source Control,点击push,提交到共享版本库之中;
4.张三加入开发(1)来到张三的文件夹:git clone 共享版本库地址
将共享版本库中的代码下载到张三的文件夹中;(2)可以直接将代码新建到共享版本库下载下来的文件夹中,点击source Control,点击commit进行提交本地版本库;如果网速快,也可以同时勾选push到共享版本库中;(3)想要从共享版本库中更新最新的代码到本地,需要点击source Control,点击pull进行提交本地版本库;
5.git管理方式下 使用静态库的方法:(1)方法一:将静态库拖入项目中,静态库的.h文件和.a文件会显示?表示不识别;右击这两个文件,选择sourceControl,点击add;就可以使用了(表示已经可以commit添加到暂缓区了);(2)方法二:将静态库拖入项目中,用终端,cd finder中静态库所在的文件夹;输入命令git add.;这样就可以使用了(表示已经可以commit添加到暂缓区了);
三、版本备份和创建新人共享库1.版本备份(1)当程序开发完成后,需要进行备份(打上标签);使用git时候如果需要备份,都是使用命令行进行备份;git tag -a weibo1.0 -m &注释& 在本地打上标签git tag 查看当前有哪些taggit push origin weibo1.0
将标签push到共享版本库
当别人需要查看tag的时候git pullgit tag
(2)将标签push到共享版本库;开始2.0版本的开发;发现1.0版本有bug;(3)创建一个文件夹,用来修复bug,在这个文件夹中将,将共享版本库中的内容clone下来;在微博中创建weibo1.1fixBug文件夹,在这个文件夹中修复bugcd
weibo1.1fixBug文件夹git clone
服务器保存的文件夹地址
将这个服务器中的文件clone到weibo1.1fixBug文件夹中;
(4)将当前的代码转为1.0标签,创建分支,并切换到该分支;在分支中修复bug,上传到appstore;cd 来到git同级目录下的工作区中;git checkout 标签名(在这里是weibo1.0)
切换到1.0标签,但是不能在标签中修改代码git checkout -b 标签名(weibo1.1 fixbug)
创建了新的分支,并切换到了这个分支;在这里完成bug的修复;在Xcode中的sourceControl中commit并勾选push到共享文件夹
(5)将修复好的版本,打上tag并上传到共享版本库;git tag -a weibo1.0 -m &注释&
在当前这个分支中为修复了bug的这个版本打上tag;git tag 查看当前有哪些taggit push origin weibo1.1
将新的标签push到共享版本库
(6)跟当前正在开发的2.0版本进行合并在正在开发的2.0版本中,点击sourceControl ,点击pull,选择weibo1.1fixbug 分支,进行pull;然后选择点击sourceControl ,选择push,选择当前正在开发的版本,进行push;上传到共享版本库;
(7)删除分支git branch 查看本地分支git branch -r
查看所有的分支git checkout 分支名
切换到正在开发的分支中
git branch -d 分支名
删除本地分支git branch -r -d 分支的全名 删除本地版本库的分支git push origin &delete 分支名
删除共享版本库中的分支
2.创建新人的共享版本库
(项目经理做的)因为新人可能会随意上传修改共享版本库的代码,所以需要为新人创建一个单独的文件夹在服务器中,来给他使用,不会影响到正在开发的文件(1)在服务器中创建一个lisi的文件夹cd lisi的文件夹git init &bare
使用lisi文件夹作为一个共享版本库来到开发者人员的电脑中,正在开发的Xcode中,选择sourceControl,选择正在开发的分支,选择configure
weibo。。;选择Remotes,点击+;填写name和address(lisi的文件夹的地址);点击sourceControl,点击push,选择 新建的共享版本库,点击push;在lisi的电脑中,git clone,将共享版本库中的文件clone下来;
四、GitHub托管文件和OSChina托管文件www.github.comgit.oschina.net
1.GitHub托管文件 方式一:HTTPS方式二:SSH KeysSSH Keys认证:1.公钥:存在github上用来解密2.私钥:存在本地的一个.ssh文件下
阅读(...) 评论()Git公司简单使用入门
先说明:本文所有需要下载的文件可以在
统一下载(0积分)。
一、下载 git ,
二、用自己帐号登录 ,在页面
Profile Settings / SSH Keys 中添加自己的公钥.
添加公钥可以参考:
, 下面只取了一部分用得到的。
<span style="color:# 、设置Git的user name和email:
$ git config --global user.name "xuhaiyan"$ git config --global user.email "haiyan.xu."
2.2、生成SSH密钥过程:
1.查看是否已经有了ssh密钥:cd ~/.ssh如果没有密钥则不会有此文件夹,有则备份删除2.生存密钥:
$ ssh-keygen -t rsa -C “haiyan.xu.vip@gmail.com”
按3个回车,密码为空。
Your identification has been saved in /home/tekkub/.ssh/id_rsa.
Your public key has been saved in /home/tekkub/.ssh/id_rsa.pub.
The key fingerprint is:
………………
最后得到了两个文件:id_rsa和id_rsa.pub
三、安装TortoiseGit,
下载。安装时指定一下文件夹, 如: d:\project\git
四、在 d:\project\git 内部右键 Git Clone , 再输入对应项目的 git 地址, 即可 clone 到项目代码了。
五、VS2013+ 自带git(工具-》选项):
暂时说到这里吧, 保证先能用起来。 感觉上比 svn 强不了什么。
如果说有什么强的, 那就是分布式, 不用担心服务器挂掉。
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!Giser修行之路
Git 团队使用
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git的读音为/g?t/。
Github是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。
一:git基本操作
姓名:git config --global user.name "Your Name"
邮箱:git config --global user.email ""
创建版本库
git add filename
git commit -m "describe"
查看仓库状态
git status
查看文件修改内容
暂存区和工作区:git diff filename
版本库和暂存区:git diff --cached filename
版本库和版本库:git diff HEAD^ HEAD filename
查看历史记录[一行]
git log [--pretty=oneline]
查看历史记录(包括未来版本的)
git log --reflog
查看历史命令
git reflog
版本回退(现有的版本文件会消失)
回退一个版本:git reset --hard HEAD^
回退两个版本:git reset --hard HEAD^^
回退N个版本:git reset --hard HEAD~N
回退到指定版本:
通过查看历史记录获得历史版本号:git log [--pretty=oneline]
跳转到指定版本:git reset --hard 版本号
通过查看历史命令查看未来版本号(git log获取不到未来版本号):git reflog
或通过以下命令查看未来版本号(貌似所有提交过的版本全部列出了):git log --reflog
跳转到指定版本:git reset --hard 版本号
暂存区-&工作区:git checkout -- filename
版本库-&暂存区:git reset HEAD filename
git rm filename [--cached]
cached: 本地不删除
(从版本控制中移除。如:将先添加到git然后写在gitignore中的文件,或写在gitignore中用git add -f强制添加到git的文件,从git中删除。)
分支(branch)
创建:git branch dev
创建并切换:git branch -b dev
切换到分支:git checkout dev
查看分支:git branch
合并指定分支到当前分支:git merge dev
删除分支:git branch -d dev
删除远程分支:git push --delete origin devel
列出所有tag(按字母排序):git tag
列出1.几的版本tag:git tag -l v1.*
不带信息的tag:git tag v1.0
带信息的tag:git tag -a v1.0 -m 'first version'
为以前的commit添加tag:git tag -a v1.0 版本号
git tag -d v1.0
上传到github
push单个tag:git push origin [tagname]
push所有tag:git push [origin] --tags
二:git远程仓库
1. 创建SSH Key
ssh-keygen -t rsa -C ""
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa): 指定rsa的位置和名字(默认是当前目录)
2. GitHub配置SSH Key
登录GitHub-&Account settings-&SSH Keys
key中粘贴id_rsa.pub文件的内容
3. GitHub创建仓库
登录GitHub创建仓库(Initialize this repository with a README看情况勾选)
4. 本地仓库push到GitHub
关联远程库:git remote add origin :path/repo-name.git
推送[第一次push]:git push [-u] [origin master]
推送到分支:git push origin local\_branch:remote\_branch
5. 从GitHub pull到本地仓库
GitHub上为最新版本,本仓库是旧版本可以用pull将本地更新到最新版本(注意:本地master会完全被origin/master覆盖)
git pull [origin remote\_branch:local\_branch]
(merge,fetch)不知道是干什么的
6. 从GitHub克隆到本地
git clone :path/repo-name.git
7. git remote
git remote 不带参数:列出已经存在的远程分支
git remote -v | --verbose:列出详细信息,在每一个名字后面列出其远程url
git remote add [shortname] [url]:添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用
git remote remove name:删除远程仓库
8.版本回退
删除远程分支
本地push到远程
三:高级操作
寻找丢失的版本:git fsck --lost-found
eg:A更新到B,B回退到A,A又更新到C。丢失的B用上面的命令找回。(版本回退后在旧版本提交产生的问题)
四:.gitignore
以斜杠"/"开头表示根目录
以斜杠"/"结尾表示匹配的最后一项是目录
以星号"*"通配多个字符(全部文件)
以问号"?"通配单个字符
以叹号"!"表示不忽略(跟踪)匹配到的文件或目录
eg:忽略根目录下upload文件夹,除了2015文件夹
#最前面不加"/"则所有文件夹下的upload都会忽略
#不加"*"则将upload忽略而不是upload下的文件忽略,后面的!/upload/2015/无法生效
#忽略/upload/2015/文件夹
!/upload/2015/
eg:忽略/web/upload/下的所有文件和文件夹,除了/web/upload/img//文件夹
/web/upload/*
!/web/upload/img/
!/web/upload/img//
五:多账户配置
user和email
全局配置(~/.gitconfig)
姓名:git config --global user.name "Your Name"
邮箱:git config --global user.email""
ssh-keygen -t rsa -C ""
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa): /c/Users/Administrator/.ssh/name_rsa
单个仓库配置(仓库/.git/config)
进入某仓库
姓名:git config user.name "Your Name"
邮箱:git config user.email""
ssh-keygen -t rsa -C ""
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa): /c/Users/Administrator/.ssh/name_rsa
配置使用的key
这里使用哪个用户上传就把哪个用户放上面(不知道为什么只能用第一个)
进入~/.ssh
创建config文件
配置每一个key
#global_key
Host github.com
HostName github.com
IdentityFile ~/.ssh/name_rsa1
PreferredAuthentications publickey
User your_name1
Host github.com
HostName github.com
IdentityFile ~/.ssh/name_rsa2
PreferredAuthentications publickey
User your_name2
# 配置文件参数
# Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件
# HostName : 要登录主机的主机名
# User : 登录名
# IdentityFile : 指明上面User对应的identityFile路径
六:其他配置
入忽略文件权限的配置,具体如下:$ git config core.filemode false
让文件名大小写敏感:git config core.ignorecase false
查看配置:$ cat .git/config
七:在U盘中建立git仓库
在U盘作为仓库的目录(eg:I:\repo\test_project)执行git --bare init --shared
bare:只有.git中的文件,且.git中的文件都放在当前目录下(git服务器)
直接使用建立时的路径访问就行
eg:git clone I:\repo\test_project
阅读(...) 评论()}

我要回帖

更多关于 git 打开文件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信