AKever

导航

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 

 

 

 

 

posted on 2017-03-06 13:47  AKever  阅读(329)  评论(0)    收藏  举报