你的位置:首页 > 操作系统

[操作系统]Git学习


Git命令行配置
1 安装Github
2 安装msysgit
3 要配置用户名和油箱
  git config --global user.name <用户名>
 我的命令就是:git config --global user.name mchdbagh
  git config --global user.email <油箱>
 我的命令就是:git config --global mchdba@yahoo.com
4 验证有没有连接上remote远程服务器
ssh -T git@github.com


5 要生成ssh key
$ ssh -keygen
看到需要输入密码的,直接2个回车键即可回到主窗口。

去找.ssh里面的id_isa.pub打开,最好用notepad++打开,的里面的内容copy出来,然后放到https://网址里面,加入
如何生成,请看文档详细介绍。http://www.worldhello.net/gotgithub/index.html#id6

Git常用命令介绍
git init --初始化项目,刚开始初始化项目的时候使用
git clone --从服务器上克隆到本地,如果服务器上面已经有项目了,直接使用这个命令clone到本地进行使用。
git status --查看版本信息
git add  --添加本地文件
git commit --提交更改
git push --tags --将更改推送到服务器


(1) git init操作

[html] view plaincopyprint? 


  1. kyman@SKYMAN-CF7E3587 ~  
  2.  mkdir test_git  
  3.   
  4. kyman@SKYMAN-CF7E3587 ~  
  5.  cd test_git/  
  6.   
  7. kyman@SKYMAN-CF7E3587 ~/test_git  
  8.  ls  
  9.   
  10. kyman@SKYMAN-CF7E3587 ~/test_git  
  11. $ git init  
  12. Initialized empty Git repository in c:/Documents and Settings/skyman/test_git/.git/  
  13.  ls -a  
  14.   ..  .git  


看到有.git文件

 

[plain] view plaincopyprint? 


  1. $ ls -al  
  2. total 0  
  3. drwxr-xr-x    3 skyman   Administ        0 Sep 25 23:10 .  
  4. drwxr-xr-x   41 skyman   Administ        0 Sep 25 23:10 ..  
  5. drwxr-xr-x    1 skyman   Administ        0 Sep 25 23:10 .git  
  6.   
  7. $  



 

 

看到多另一个.git目录,表示项目创建成功了。


(2) git clone操作
登陆 https://github.com/,看右下角,如图下图,找到打开库的网址把提示mchdbagh/manual56加到后面,网址就是https://github.com/mchdbagh/manual56




打开后,点击右下角的HTTPS clone URL栏目下方的复制按钮,就得到了库的clone地址 https://github.com/mchdbagh/manual56.git,如图所示

也可以选择ssh方式:git@github.com:mchdbagh/manual56.git 

git clone git@github.com:mchdbagh/manual56.git;


打开 git clone git@github.com:mchdbagh/helloworld.git
如果需要自定义一个目录名,可以写成 git clone git@github.com:mchdbagh/helloworld.git test_hw


检测是否clone成功,看到有manual56目录是否存在

 

[java] view plaincopyprint? 


  1. $ ls  
  2. AppData           Favorites       NTUSER.DAT  SendTo          _viminfo     manual56                    wc  
  3. Application Data  IECompatCache   NetHood     Templates       admovie.jpg  ntuser.dat.LOG              ??????????????????  
  4. CMB               IETldCache      PrintHood   UserData        client.log   ntuser.ini                  ??????  
  5. Contacts          Local Settings  PrivacIE    VirtualBox VMs  extensions   ntuserdirect_MyManager.dat  
  6. Cookies           My Documents    Recent      WINDOWS         helloworld   test_git  



 

(3) git add 操作实验

 

[plain] view plaincopyprint? 


  1. $ cd manual56/  
  2. --查看git当前版本库的状态  
  3. $ git status   
  4. # On branch master  
  5. nothing to commit (working directory clean)  
  6.   
  7. --进入我要修改的章节目录  
  8. $ cd docs/Chapter_17/    
  9. $ vim 17.5.0.0.0.md    --新建一个md文件,里面简单写“only a test”字符串,wq保存退出编辑状态。  
  10.   
  11. -- 查看状态  
  12. $ git status  
  13. # On branch master  
  14. # Untracked files:  
  15. #   (use "git add <file>..." to include in what will be committed)  
  16. #  
  17. #       17.5.0.0.0.md   --看到有红颜色的一个新的文件还没有提交上去,这一行的文件名显示为红色。  
  18. nothing added to commit but untracked files present (use "git add" to track)  

 

添加文件add

git add 17.5.0.0.0.md添加单个文件,多个文件可以用空格来隔开,比如(git add 17.5.0.0.0.md 17.5.0.0.1.md 17.5.0.0.2.md),也可以使用git add -A添加所有的文件。

 

[javascript] view plaincopyprint? 


  1.  --执行添加命令  
  2. $ git add 17.5.0.0.0.md  
  3.   
  4. --查看单个文件版本状态  
  5. $ git status 17.5.0.0.0.md   
  6. # On branch master  
  7. # Changes to be committed:  
  8. #   (use "git reset HEAD <file>..." to unstage)  
  9. #  
  10. #       new file:   17.5.0.0.0.md  
  11. #  
  12.   
  13. --查看整个库版本状态  
  14. $ git status   
  15. # On branch master  
  16. # Changes to be committed:  
  17. #   (use "git reset HEAD <file>..." to unstage)  
  18. #  
  19. #       new file:   17.5.0.0.0.md  
  20. #  



 

 

手动用MarkdownPad打开C:\Documents and Settings\skyman\manual56\docs\Chapter_17\17.5.0.0.0.md,在里面输入中文字符串,保存退出。然后查看版本库状态,显示绿颜色的表示已经缓存起来了,显示红颜色的是修改过的但是没有缓存起来的。

 

[html] view plaincopyprint? 


  1.   

(4) git commit,修改完之后,进行commit提交git commit -m "Test change", -m 是指定提交信息,必填项目

[html] view plaincopyprint? 


  1. $ git commit -am "Test chanage"  
  2. [master 3e96f90] Test chanage  
  3.  1 file changed, 1 insertion(+), 1 deletion(-)  
  4.    
  5. $ git status   
  6. # On branch master  
  7. # Your branch is ahead of 'origin/master' by 2 commits.  
  8. #  
  9. nothing to commit (working directory clean)  
  10. --显示已经提交到本地版本库了  

 

(5)把已经修改的文件push到服务器,git push --tags  --push所以缓存到本地服务器的文件。

 

[html] view plaincopyprint? 


  1. $ git push origin master    
  2. Counting objects: 13, done.  
  3. Delta compression using up to 2 threads.  
  4. Compressing objects: 100% (8/8), done.  
  5. Writing objects: 100% (10/10), 768 bytes, done.  
  6. Total 10 (delta 6), reused 0 (delta 0)  
  7. To git@github.com:mchdbagh/manual56.git  
  8.    e754e68..3e96f90  master -> master  



 

 

OK成功了,然后打开网址https://github.com/xxxxxx/blob/master/docs/Chapter_17/17.5.0.0.0.md去看提交的新内容,见图片所示,新建立的文件17.5.0.0.0.md已经成功上传到remote文件服务器了。

 


 

 

这些项目,如果是个人项目,已经足够满足我们的日常使用要求了,但是如果多人协同操作,那还是远远不够的。