Git 局域网简单配置


Git核心:http://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git
TortoiseGit :http://code.google.com/p/tortoisegit/

首先,在服务器创建一个文件夹用于存放你要公开的版本库。
然后进入这个文件夹,右键->Git create repository here,弹出的窗口中勾选Make it Bare!
之后将这个文件夹完全共享(共享都会吧?注意权限要让使用这个文件夹的用户为“完全控制”)。


在客户机打开我的电脑,点“映射网络驱动器”
之后找到服务器刚才共享的文件夹,驱动器自己选择,我选择了X:,勾上“登录时重连接”。
完成后,打开X盘看一下,是不是能看到文件了?那就说明映射成功了!
然后到项目文件夹(假设已经创建好了本地的版本库了),
点右键->TortoiseGit->Settings,
左边找到Remote(这项是针对版本库的,没有这项,说明你没有在当前文件夹创建版本库,
                那就先Git create repository here,这时就不要Make it Bare了,因为这是客户机。),
在这个窗口中Remote项是名字,随便起一个填上吧。
URL是更新路径,这里填上刚才映射下来的盘符,比如x:,
第三项留空(私钥路径,如果你用SSH就需要填写)。


commit 还是在本地,没有到服务器
Push  提交到服务器
Pull  从服务器得到          

Setting--Git--Remote:
    Remote:test
    Url:C:/Git    (repository路径)  网路上的:https://github.com/username/repositoryName.git
    
提交服务器:
local branch: master             Remote branch: master
Remote URL: test

$ git config --global user.name "defnngj"//给自己起个用户名
$ git config --global user.email  "defnngj@gmail.com"//填写自己的邮箱

git add .
git add test.txt
git commit -m "this is commit message"
git merage master     将master合并到当前分支
$ git remote add origin git@github.com:defnngj/hello-world.git   //连接远程github项目 
$ git push -u origin master   //将本地项目更新到github项目上去

转自http://www.cnblogs.com/fnng/archive/2012/01/07/2315685.html

------------------------------------关于可能出现的错误----------------------------------

1.在执行

$ git remote addorigin git@github.com:defnngj/hello-world.git

错误提示:fatal: remote origin already exists.

解决办法:

$ git remote rm origin

然后在执行:$ git remote add origin git@github.com:defnngj/hello-world.git 就不会报错误了

2. 在执行

$ git push origin master

错误提示:error:failed to push som refs to.......

解决办法:

$ git pull origin master //先把远程服务器github上面的文件拉先来,再push 上去。

 


如你现在新创建了一个项目,想把它提交到github上面?

 

假设你创建好了一个项目,并切换到项目的根目录下面:

$ git status  //查看当前项目下所有文的状态,如果第一次,你会发现都红颜色的,因为它还没有交给git/github管理。

$ git add . //.)点表示当前目录下的所有内容,交给git管理,也就是提交到了git的本地仓库。

Ps:git的强大之处就是有一个本地仓库的概念,在没有网络的情况下可以先将更新的内容提交到本地仓库。

$ git commit –m”new natter ”  //对你更新或修改了哪些内容做一个描述。

$ git remote add origin git@github.com:defnngj/hibernate-demo.git

//如果你是第一次提交项目,这一句非常重要,这是你本地的当前的项目与远程的哪个仓库建立连接。

Ps: origin可以改为别人的名字,但是在你下一次push(提交)时,也要用你修改之后的名字。

$ git remote -v //查看你当前项目远程连接的是哪个仓库地址。

$ git push -u origin master //将本地的项目提交到远程仓库中。

 

------------------------------------------------------------

假如,你回到了家,想把公司提交的项目克隆到本地?

 

如果你是第一次想把github上面的项目克隆到本地或者要克隆别人的项目到地。

$ git clone git@github.com:defnngj/hibernate-demo.git //在git下面切换到想存放此项目的文件目录下,运行这条命令就可以将项目克隆下来。

 

假如本地已经存在了这个项目,而仓库中又有一新的更新,如何把更的合并到本地的项目中?

$ git fetch origin    //取得远程更新,这里可以看做是准备要取了

$ git merge origin/master  //把更新的内容合并到本地分支/master

 

-------------------------------------------

项目中删除了一些文件,如何提交?

 

假如远程仓库中已经存了aaa这个文件,我fetch了下来,并删除了aaa这个文件,想再push上到远程仓库中,并使远程仓库中的项目被新的修改覆盖(也是是远程仓库中的aaa也被删除)

$ git status   //可以看到我们删除的哪些文件

$ git add .   //删除之后的文件提交git管理。

$ git rm   src/com/hzh/hibernate/dao/aaa.java    //移除我们删除的那个文件,不然git不允许我们往远程仓库提交。

Ps: 如果你想删除的是某个目录(java包),这里想移除整个目录的内容。

$ git rm  src/com/hzh/hibernate/bbb/ -r   // -r 会把bbb/目录下的所有内容一次性移动。

 

------------------------------------------------------------------------

远程创建了一个新仓库,本地创建了一个新项目,如何使新的项目与仓库对应起来?

 

其实,这个也很简单,只是我当时对那些命令不太理解,所以比较模糊,不知如何对应。

 

$ git remote add origin git@github.com:defnngj/hibernate-demo.git

//还是这个命令,在你push项目之前加上这一句就OK了。

git@github.com:defnngj/hibernate-demo.git 就是你常见的新仓库的地址啊。git切换到新项目下,在push之前,加上这一句,我们创建的新仓库就与新项目建立了连接。

 

 









原文地址:https://www.cnblogs.com/dfg727/p/3487224.html