Github & Git工具的使用
Github & Git工具的使用
==============================
一. 项目版本控制管理工具
1. git工具创建git项目(搭建git服务器 & 添加项目用户)
http://www.cnblogs.com/TS-qrt/articles/git_server.html
二. SVN与Git的最主要的区别
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。
Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
三.Git的使用-设置
Git bash的使用
1. 设置
因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识 git config –global 参数,
有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置, 当然你也可以对某个仓库指定的不同的用户名和邮箱
例子:
1.配置用户名&邮箱
Administrator@Jin-PC MINGW64 /e/EGit $ git config --global user.name "hello" Administrator@Jin-PC MINGW64 /e/EGit $ git config --global user.email "helloworld@xxx.com"
2. 查看
$ git config user.name
$ git config user.email
3.修改用户名&邮箱
$ git config --global user.name "username" $ git config --global user.email "email"
四. Git的使用, 项目管理
1. 创建版本库(repository)
例子: 创建仓库testgit
Administrator@Jin-PC MINGW64 /e/EGit $ mkdir testgit Administrator@Jin-PC MINGW64 /e/EGit $ cd testgit/ Administrator@Jin-PC MINGW64 /e/EGit/testgit $ git init Initialized empty Git repository in E:/EGit/testgit/.git/ Administrator@Jin-PC MINGW64 /e/EGit/testgit (master) $
ps:testgit目录下会多了一个.git的目录,这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了。
2. 新提交一个文件到testgit中
a. 在testgit目录右键新建文件 readme.txt,内容: 1111111
1111111(readme.txt内容)
b. 使用命令 git add readme.txt添加到暂存区里面去.
Administrator@Jin-PC MINGW64 /e/EGit/testgit (master) $ git add readme.txt
c. 用命令 git commit -m "new file readme.txt"告诉Git,把文件提交到仓库.
Administrator@Jin-PC MINGW64 /e/EGit/testgit (master) $ git commit -m "new file readme.txt" [master (root-commit) a7c1f23] new file readme.txt 1 file changed, 1 insertion(+) create mode 100644 readme.txt Administrator@Jin-PC MINGW64 /e/EGit/testgit (master) $
ps: "new file readme.txt" 为注释
d. 使用 git status 查询状态
Administrator@Jin-PC MINGW64 /e/EGit/testgit (master) $ git status On branch master nothing to commit, working tree clean
e. 修改文件 readme.txt(在第二行添加2222222), 使用 git diff readme.txt 查看修改内容
1111111 2222222
命令窗口
Administrator@Jin-PC MINGW64 /e/EGit/testgit (master) $ git diff readme.txt diff --git a/readme.txt b/readme.txt index 7153628..111f1f8 100644 --- a/readme.txt +++ b/readme.txt @@ -1 +1,2 @@ -1111111 \ No newline at end of file +1111111 +2222222 \ No newline at end of file
f. 使用add和commit提交修改内容
Administrator@Jin-PC MINGW64 /e/EGit/testgit (master) $ git add readme.txt Administrator@Jin-PC MINGW64 /e/EGit/testgit (master) $ git commit readme.txt -m "mod file readme.txt" [master aa73a24] mod file readme.txt 1 file changed, 2 insertions(+), 1 deletion(-)
g. 注意
修改1->add->修改2->commit
以上 修改2 的内容是不会被提交的,修改2 之后应该重新 add
h. add或commit之后要撤销
# git add -A //add目录下所有未提交文件 # git reset . //撤销add # git reset --hard HEAD^ //撤销commit
z.命令总结
git add readme.txt
git commit readme.txt -m "注释"
git diff readme.txt
git status
五. 上传git项目到github
1. 生成SSH key
a. 配置用户名,邮箱
Administrator@Jin-PC MINGW64 /e/EGit $ git config --global user.name "hello" Administrator@Jin-PC MINGW64 /e/EGit $ git config --global user.email "helloworld@xxx.com"
b. 输入 "ssh-keygen -t rsa -C "helloworld@xxx.com" 生成key码
Administrator@Jin-PC MINGW64 /e/EGit/testgit (master) $ ssh-keygen -t rsa -C "helloworld@xxx.com" Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa): Created directory '/c/Users/Administrator/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /c/Users/Administrator/.ssh/id_rsa. Your public key has been saved in /c/Users/Administrator/.ssh/id_rsa.pub. The key fingerprint is: SHA256:knol88qLnzZYAcTRD+Sh3KM7AyB9iR8dGOvaQw/AY9I qrt_room@yeah.net The key's randomart image is: +---[RSA 2048]----+ | o+*+ | | + o+Boo | |+ E B.=o | |.+ * o.o. | | . * =.S | | = =.* | | . Boo . | | .Boo | | .o*o | +----[SHA256]-----+
  Administrator@Jin-PC MINGW64 /e/EGit/testgit (master)
  $ ls ~/.ssh
  id_rsa  id_rsa.pub    ##C:\Users\Administrator\.ssh目录下
c. 登陆自己的github, 右上角头像旁▽-> Settings -> SSH and GPG keys -> New SSH key, 生成SSH key
Title: 随便填 Key: 将ssh生成的文件"id_rsa.pub"文件的内容全复制在Key内容框中
ps:

d. 测试是否连接成功
Administrator@Jin-PC MINGW64 /e/EGit/testgit (master) $ ssh -T git@github.com Hi Aujhon! You've successfully authenticated, but GitHub does not provide shell access.
e. 远程连接 & 更新 & 提交
Administrator@Jin-PC MINGW64 /e/EGit/testgit (master) $ git remote add origin git@github.com:xxx/testgit.git ## 成功 Administrator@Jin-PC MINGW64 /e/EGit/testgit (master) $ git push -u origin master To github.com:xxx/testgit.git ! [rejected] master -> master (fetch first) error: failed to push some refs to 'git@github.com:xxx/testgit.git' ##失败,README.md没更新到本地(版本不是最新的) Administrator@Jin-PC MINGW64 /e/EGit/testgit (master) $ git pull --rebase origin master ##成功更新到本地
... ... Administrator@Jin-PC MINGW64 /e/EGit/testgit (master) $ git push -u origin master ## 成功提交
... ...
六. clone-更新项目到本地,再上传
1. 获取项目路径"Clone and download"->"https://github.com/Aujhon/repository.git"
2. 在"E:\EGit"目录下克隆下来
Administrator@Jin-PC MINGW64 /e/EGit $ git clone https://github.com/xxx/repository.git Cloning into 'repository'... Administrator@Jin-PC MINGW64 /e/EGit $ cd repository/ Administrator@Jin-PC MINGW64 /e/EGit/repository (master) $ git add . Administrator@Jin-PC MINGW64 /e/EGit/repository (master) $ git commit -m "test" ## a处-此命令后需要输入账号&密码 Administrator@Jin-PC MINGW64 /e/EGit/repository (master) $ git push -u origin master
ps:a处 - 账号密码(忽视repository的路径)

3. 完成,可在github上查看自己的文件
七. 建立局域网远程仓库
http://blog.csdn.net/haomcu/article/details/8174805
http://www.open-open.com/lib/view/open1418007412433.html
https://my.oschina.net/csensix/blog/184426
http://www.cnblogs.com/dee0912/p/5815267.html(可以一)
http://blog.csdn.net/kezhen/article/details/9950257(可以二)
八. git命令集合
http://www.cnblogs.com/linsanshu/p/5512038.html
九. repo管理工具
http://blog.csdn.net/stevenhu_223/article/details/8828130
ten. download repo
git clone ssh://git@www.rockchip.com.cn/repo/rk/tools/repo
N.报错处理
1. 错误信息
Agent admitted failure to sign using the key. Permission denied (publickey).
解决
ssh-add ~/.ssh/id_rsa
---------- the end
未整理资料
http://www.cnblogs.com/softidea/p/5286990.html
 
                    
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号