Github
New repository
点击右上角加号,选择 New repository
163账号被封
Install client msysgit
github是服务端,要想在自己电脑上使用git我们还需要一个git客户端,我这里选用msysgit,这个只是提供了git的核心功能,而且是基于命令行的。如果想要图形界面的话只要在msysgit的基础上安装TortoiseGit即可。
Congiure git
以spreading为例
Create ssh key
ssh-keygen -t rsa -C [email protected]
#Example
ssh-keygen -t rsa -C [email protected]
后面的 [email protected] 改为自己的邮箱,之后会要求确认路径和输入密码,这里使用默认的一路回车就行。成功的话会在 ~/ 下生成 .ssh 文件夹,打开 id_rsa.pub,复制里面的 key,回到 github,进入 settings,左边选择 SSH keys,Add SSH Key,title 随便填,粘贴 key。
Verify ssh key
ssh -T [email protected]
ssh -T -v [email protected] 可以打印debug信息
如果是第一次的会提示是否 continue,输入 yes 就会看到:You've successfully authenticated, but GitHub does not provide shell access,这就表示已成功连上 github。
常见问题1:关于ssh连接主机,git连接github失败的问题
Clone your project
接下来我们要做的就是把 github 上面建立的仓库克隆到本地,在此之前还需要设置 username 和 email,因为 github 每次 commit 都会记录他们。
git config --global user.name your name
git config --global user.email [email protected]
#Example
git config --global user.name navicester
git config --global user.email [email protected]
第一次:添加远程地址
git remote add origin [email protected]:navicester/spreading.git
克隆到本地 (spreading)
git clone [email protected]:navicester/spreading.git
需要注意的是:github 提供了 3 种 url 路径(HTTPS,SSH,Subversion),一般如果账号处于登录状态,那么我们可以用 SSH,就像上面的代码,如果没有登录的话,只能用 HTTPS 的 url 了,如图所示:
克隆成功,如下所示:
modify your project
方法1:直接修改.git/config
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
hideDotFiles = dotGitOnly
[remote "origin"]
url = [email protected]:navicester/lwc.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[remote "heroku"]
url = https://git.heroku.com/lwc-ws.git
fetch = +refs/heads/*:refs/remotes/heroku/*
方法2:(没试)
git remote rm origin
git remote add origin [email protected]:Liutos/foobar.git
Pull
git pull <远程主机名> <远程分支名>:<本地分支名>
git pull username@ipaddr:远端repository名 <远端分支名> <本地分支名>
或者是:
git pull origin <远端分支名> <本地分支名>
git pull https://git.oschina.net/beckwen/WinFingerprintDriver.git wk:LocalBin
这条命令将从远端git库的远端分支名获取到本地git库的一个本地分支中。其中,如果不写本地分支名,则默认pull到本地当前分支。
- 运行时碰到错误
D:\eclipse-workspace\virtualdir\lwc_test\lwc>git push
......
To [email protected]:navicester/lwc.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to '[email protected]:navicester/lwc.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Issue : updates were rejected because the tip of your current branch is behind its remote counterpart
有如下几种解决方法:
1.使用强制push的方法:
$ git push -u origin master -f
这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候。
2.push前先将远程repository修改pull下来
$ git pull origin master
$ git push -u origin master
3.若不想merge远程和本地修改,可以先创建新的分支:
$ git branch [name]
然后push
$ git push -u origin [name]
Modify, Commit, Push
我们可以修改克隆到本地的项目,修改完成后先要 add 修改的文件(. 表示全部),然后填写 commit,最后在 push 到 github。
git push <远程主机名> <本地分支名>:<远程分支名>
git push https://git.oschina.net/beckwen/WinFingerprintDriver.git LocalBin:wk
git add .
git commit -m 'update'
git push [origin master]
remote
remote server/remote repository/remote branch
local repository/local branch
master就是local branch,origin/master是remote branch(master is a branch in the local repository. remotes/origin/master is a branch named master on the remote named origin)
需要注意的是,remotes/origin/master和origin/master的指向是相同的
git remote -v
log
D:\eclipse-workspace\git_python_spreading\spreading>git remote -v
origin [email protected]:navicester/spreading.git (fetch)
origin [email protected]:navicester/spreading.git (push)
gitignore
比如我要忽略sumlime项目文件
lwc.sublime-project
lwc.sublime-workspace
touch .gitignore #创建gitignore隱藏文件
vim .gitignore #编辑文件,加入指定文件
#下面是我的gitignore文件的内容
#忽略gitignore文件
.gitignore
#忽略后缀缀名为.o和.a的文件
*.[oa]
#或有sublime项目文件
lwc.sublime-project
lwc.sublime-workspace
git status
git log
SAE Git代码部署说明
用户名 SAE安全邮箱
密码 SAE安全密码
在你应用的git代码目录里,添加一个新的git远程仓库 sae
$ git remote add sae https://git.sinacloud.com/papillon
编辑代码并将代码部署到 sae
的版本1。
$ git add .
$ git commit -am "make it better"
$ git push sae master:1
$ git pull sae 2
SAE支持Git、SVN、代码打包上传三种提交方式,具体请参考:http://www.sinacloud.com/doc/sae/tutorial/code-deploy.html#git