git学习——个人常用命令add,commit以及push

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 [email protected]
4 验证有没有连接上remote远程服务器
ssh -T [email protected]


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 plain  copy
 print ?
  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 plain  copy
 print ?
  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
git学习——个人常用命令add,commit以及push_第1张图片


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

git学习——个人常用命令add,commit以及push_第2张图片

也可以选择ssh方式:[email protected]:mchdbagh/manual56.git 

git clone [email protected]:mchdbagh/manual56.git;


打开 git clone [email protected]:mchdbagh/helloworld.git
如果需要自定义一个目录名,可以写成 git clone [email protected]:mchdbagh/helloworld.git test_hw


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

[java]  view plain  copy
 print ?
  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 plain  copy
 print ?
  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 ..." 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 plain  copy
 print ?
  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 ..." 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 ..." 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 plain  copy
 print ?
  1.   

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

""内部表示注释内容,即git修改内容。

[html]  view plain  copy
 print ?
  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. --显示已经提交到本地版本库了  



PPS:

介绍一下git pull

git pull即把代码更新到本地,经常会遇到这种错误

error: Your local changes to 'c/environ.c' would be overwritten by merge.  Aborting.
Please, commit your changes or stash them before you can merge.

这个意思是说更新下来的内容和本地修改的内容有冲突,先提交你的改变或者先将本地修改暂时存储起来。

处理的方式非常简单,主要是使用git stash命令进行处理,分成以下几个步骤进行处理。

a)  先将本地修改存储起来

$ git stash
这样本地的所有修改就都被暂时存储起来 。是用git stash list可以看到保存的信息

其中stash@{0}就是刚才保存的标记。

b)pull内容

暂存了本地修改之后,就可以pull了。

c)还原暂存的内容

$ git stash pop stash@{0}
系统提示如下类似的信息:
Auto-merging c/environ.c
CONFLICT (content): Merge conflict in c/environ.c
意思就是系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突

d)解决文件中冲突的的部分
打开冲突的文件,会看到类似如下的内容:

其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容。

解决完成之后,就可以正常的提交了



git pull后再

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

[html]  view plain  copy
 print ?
  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 [email protected]: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文件服务器了。


git学习——个人常用命令add,commit以及push_第3张图片















你可能感兴趣的:(实习学习笔记,互联网)